首页 > 解决方案 > UNIX中的`grep -m 1`命令是什么意思

问题描述

我用谷歌搜索了这个命令,但没有。

grep -m 1 "\[{" xxx.txt > xxx.txt

但是我输入了这个命令,没有发生错误。实际上,这个命令也没有结果。

请任何人解释我这个命令的工作?

标签: shellunix

解决方案


此命令读取和写入同一个文件,但不是从左到右的方式。实际上首先> xxx.txt运行,在命令开始读取文件之前清空文件。因此没有输出。您可以通过将结果存储在临时文件中然后将该文件重命名为原始名称来解决此问题。grep

PS:一些命令,比如sed,有一个输出文件选项,它通过不依赖 shell 重定向来解决这个问题。


推荐阅读