'grep'的意外行为

时间:2016-01-27 16:08:40

标签: bash unix grep

有人可以解释下面案例 grep 的行为:

$ grep <html> foo
$ bash: html: No such file or directory

2 个答案:

答案 0 :(得分:1)

您需要在bash中转义<>

  • 使用反斜杠转义单个字符
  • 使用单引号转义多个字符

正确的语法:

grep '<html>' myfile
grep \<html\> myfile

更多信息:

<>用于I/O Redirection<接受输入,>重定向您的输出。因此,grep <html> foo尝试读取名为html的文件,并将输出重定向到文件myfile

答案 1 :(得分:0)

$ grep <html> foo

$ cat html | grep > foo

读取文件html将其发送给grep并将结果存储在名为foo的文件中。有关扩展说明,请参阅hurb的答案