我正在使用这个指令:
VAR=$(grep -r -i --color=always --exclude=\*.{sh,pdf,doc,docx} "$WORD" "$DIRECTORY")
这给了我这样的输出:
/dir1NameWithSpaces/File1_05012004/file6.sml:file6 content .... with words and symbols
/dir1NameWithSpaces/File1_05012004/fil3.txt:file3 content .... with words and symbols
/dir1NameWithSpaces/File1_04092008/file.txt:file content .... with words and symbols
我需要提取每一行(例如使用循环)并仅在 1 行上从 grep 中打印文件名,并在另一行上打印 grep 命令的内容。
它必须是通用的,以便每次我在多文件内容中进行搜索时使用它。
此外,如果您想直接使用 grep,则内容行不必具有文件名,因此我只想留下“:”符号。
这里要清楚的是一个例子:
/dir1NameWithSpaces/File1_05012004/file6.sml:
:file6 content .... with words and symbols
/dir1NameWithSpaces/File1_05012004/fil3.txt:
file3 content .... with words and symbols
/dir1NameWithSpaces/File1_04092008/file.txt:
file content .... with words and symbols
换句话说,我的 grep 的输出必须定期打印。
谢谢