我有一个文件,我想搜索该文件中的一些文本并导出文件路径、iIsearched 内容的行索引和行内容。
我使用这个命令:
grep -rnw 'path-file' -e 'patter'
但结果是:
tree.sh:1:abc xyz
如何获取表格中的每一行:
tree.sh - 1 - abc xyz
答案1
假设你的grep
支持--color
:
grep --color=always -rnw -e 'pattern' 'path-file' | sed -e 's/:/ - /;s// - /'
答案2
您可以使用 awk 解析它:
$ echo "tree.sh:1:abc xyz" | awk 'BEGIN {FS=":| "} {print $1}'
tree.sh
$ echo "tree.sh:1:abc xyz" | awk 'BEGIN {FS=":| "} {print $2}'
1
$ echo "tree.sh:1:abc xyz" | awk 'BEGIN {FS=":| "} {print $3}'
abc
$ echo "tree.sh:1:abc xyz" | awk 'BEGIN {FS=":| "} {print $4}'
xyz
由于原始问题已被修改,我添加了 sed 选项:
$ echo "tree.sh:1:abc xyz" | sed -e "s/:/ - /g"
tree.sh - 1 - abc xyz