使用shell脚本编辑文本文件中的列

ALB*_*LBI 0 shell awk sed

我有一个文本文件:

a b n
d f h 
e f y
Run Code Online (Sandbox Code Playgroud)

我想编辑它并使它像:

a b@gmail.com n
d f@gmail.com h 
e f@gmail.com y
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?有没有可以提供帮助的命令?

use*_*001 5

试试这个awk one liner:

$ awk '$2=$2"@gmail.com"' file
a b@gmail.com n
d f@gmail.com h
e f@gmail.com y
Run Code Online (Sandbox Code Playgroud)

  • +1有趣的是有些人会看看它有多简单以及sed替代方案有多复杂,然后选择sed命令,因为某些版本的sed支持`-i`.叹息....无论如何 - 更新版本的`gawk`支持`-i inedit`来改变原始文件,如果这是一个考虑因素. (4认同)