我正在完成一项学校作业,它几乎是基于谋杀案。我下载了自定义文件,目前正在文件中搜索关键字。我现在回答的问题是:“查找包含文本 \xe2\x80\x9capt.no.\xe2\x80\x9d 的文件以查找该信息”。
\n我对 Linux 相当陌生,目前Permission Denied每当我输入以下命令时都会得到:
grep -inr apt.no\nRun Code Online (Sandbox Code Playgroud)\n任何有关如何解决此问题的帮助将不胜感激。我正在寻找的文件包含apt.no文件中的文本。
bbcharlieca@myvm:~$ grep -inr apt.no.\n.viminfo:92:|2,1,1635317358,47,"apt.no"\n.viminfo:92:|2,1,1635317355,47,"apt.no"\ngrep: nano.save: Permission denied\nbbcharlieca@myvm:~$ \xe2\x96\x88\nRun Code Online (Sandbox Code Playgroud)\n\n
标志-r指示grep它搜索当前目录和所有子目录中的每个文件。(您可以了解-r, -i- 并-n通过阅读文档 , man grep。)
该命令apt.no.在文件中匹配.viminfo,并打印匹配的行。请注意,您在文本中说要搜索,apt.no但在屏幕截图中(呃;最好复制并粘贴为文本)您实际上输入了apt.no.一个尾随点。此外,你的指令似乎希望你搜索apt. no.(带空格)。请注意,对于grep,点是一个通配符,将匹配任何字符,如果您正在搜索包含空格的文本,则必须将其放在引号内。也许您打算运行这个命令,它会查找没有任何通配符匹配的文字字符串apt. no.?
grep -rF 'apt. no.'
Run Code Online (Sandbox Code Playgroud)
您grep还尝试搜索该文件nano.save,但该文件似乎不属于您所有,或者您已删除该文件的读取权限。如果该文件位于您自己的主目录下,您可以安全地删除该文件 ( rm nano.save)。如果它位于共享区域中,您要么必须接受错误消息,要么将其显式排除grep,或者告诉 shell 丢弃命令中的所有错误消息:
grep -Fr 'apt. no.' # Live with it
grep -Fr --exclude='nano.save' 'apt. no.' # Exclude named file
grep -Fr 'apt. no.' 2>/dev/null # Discard *all* error messages
Run Code Online (Sandbox Code Playgroud)
如果您拥有 root 权限,则可以使用这些权限进行搜索,但跳转到 root 级别应小心;如果您以 root 身份运行,则几乎没有任何限制:
sudo grep -Fr 'apt. no.' # Run as root
Run Code Online (Sandbox Code Playgroud)
* 如果没有放在引号中,则需要对每次出现的特殊字符(例如空格)进行转义。我不会在这里这样做。
| 归档时间: |
|
| 查看次数: |
4169 次 |
| 最近记录: |