我有一个场景
在那里我想获取文件名,它不包含以下整行
"<NAME = $$WORK_STUDENT GEN=123 VARIABLE=EXEC >"
在命令下使用未按预期工作显示错误
grep -rL "<NAME = $$WORK_STUDENT GEN=123 VARIABLE=EXEC >" >> /d/notfound_list.txt
我得到的错误是
grep: File: No such file or directory
grep: <NAME =12234WORK_STUDENT GEN=123 VARIABLE=EXEC>: No such file or directory
它无法识别符号=>$$相反,它取的是一些数字,比如一些process_id
我如何搜索这整条线任何解决方案都将受到的赞赏
谢谢
根据man grep,语法为:
grep[OPTIONS]PATTERN[FILE…]
然后我们阅读:
grep搜索命名的输入FILEs(如果没有文件命名为,则搜索标准输入
您所做的是:
grep -rL "<NAME = $$WORK_STUDENT GEN=123 VARIABLE=EXEC >"
^^^^^ - no file
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - PATTERN
^^^ - these are OPTIONS
您没有给grep
任何文件,所以它等待标准输入,等待您键入的任何内容。给grep
一个要搜索的文件或一个可以用-r
递归搜索的目录。
grep -rL "<NAME = $$WORK_STUDENT GEN=123 VARIABLE=EXEC >" some_directory/ some_file.txt