在单个命令中使用变量在grep多个结果上追加字符串

时间:2014-11-15 16:09:59

标签: linux bash perl awk grep

文件名包含空格,例如example like this.txt我希望在该字符串的前缀和后缀上附加"。例如"example like this.txt"

此外,我还想在grep结果的每一行上附加数字

例如,此命令将返回多行:

ls -a | grep "filename"

例如:

example filename a.txt
example filename b.txt
example filename c.txt
example filename d.txt

如何使用单个命令在每个返回行上附加多个字符串?所以我得到了这个输出:

1 "example filename a.txt"
2 "example filename b.txt"
3 "example filename c.txt"
4 "example filename d.txt"

1 个答案:

答案 0 :(得分:3)

如果您想要一个命令,则需要使用awkperlpython之类的内容:

例如:

$ ls -la | awk '/filename/{printf "%s %s%s%s\n",++i,q,$0,q}' q='"' 
1 "example filename a.txt"
2 "example filename b.txt"
3 "example filename c.txt"
4 "example filename d.txt"