据我所知,grep可以逐行从文件中提取特定内容.只是想知道如何在每行之前或之后添加另一列作为索引.例如:
grep "aaa" text.txt > tmp.txt
Run Code Online (Sandbox Code Playgroud)
在tmp.txt文件中,我们可以看到如下内容,
aaawekjre
qejrteraaa
wrgeaaaere
Run Code Online (Sandbox Code Playgroud)
但是,我想添加一个特定的索引作为额外的列.因此,tmp.txt可能如下所示:
John aaawekjre
John qejrteraaa
John wrgeaaaere
Run Code Online (Sandbox Code Playgroud)
$ sed -n '/aaa/ s/^/John /p' text.txt
John aaawekjre
John qejrteraaa
John wrgeaaaere
Run Code Online (Sandbox Code Playgroud)
-n
除非我们明确要求,否则这告诉sed不要打印任何东西.
/aaa/ s/^/John /p
这将选择包含的行aaa.对于那些行,我们做一个substitute(s/^/John /)放在John行的开头,然后打印行(p).
这样,aaa永远不会打印不包含的行.因此,不需要单独的grep过程.