在单个命令中在grep multiple结果上追加字符串

时间:2014-11-06 16:02:50

标签: text grep format

我想在grep结果的每一行附加一个字符串。

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

ls -a | grep "filename"

例如:

filename1
filename2
filename3
filename4

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

test filename1
test filename2
test filename3
test filename4

2 个答案:

答案 0 :(得分:12)

你可以这样做:

ls -a | grep "filename" | perl -ne 'print "test $_"'

答案 1 :(得分:3)

另一种方法是使用sed(特别是Stream EDitor):

ls -a | grep "filename" | sed 's/^/test /'

ls -a *filename* | sed 's/^/test /'

甚至

ls -a | sed '/filename/bx;d;:x;s/^/test /'