grep:输入文件'X'也是输出

kas*_*vnd 16 command-line shell grep ubuntu io-redirection

我使用ubuntu 14.4, 并试图将grep命令的输出重定向到文件,但我不断收到此错误:

grep: input file 'X' is also the output

我运行以下命令:

grep -E -r -o -n r"%}(.*){%" > myfile
Run Code Online (Sandbox Code Playgroud)

正如错误所述,它似乎以某种方式将输入和输出解释为相同的名称/obj。我搜索但找不到问题到底是什么?!

jim*_*mij 12

不能使用相同的文件作为grep. 您可以考虑以下替代方案:


小智 6

您可以--excludegrep命令中使用该字段,如下所示:

grep  --exclude=myfile  -Eron  r"%}(.*){%"  >  myfile
Run Code Online (Sandbox Code Playgroud)

  • 确保 `myfile` 是唯一的,因为它只适用于文件的基本名称。您不想跳过其他目录中具有相同名称的文件。 (3认同)