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

时间:2013-09-21 10:28:20

标签: shell sed awk

我有一个文本文件:

a b n
d f h 
e f y

我想编辑它并使它像:

a b@gmail.com n
d f@gmail.com h 
e f@gmail.com y

我该怎么做?有没有可以提供帮助的命令?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

使用sed inline

sed -i.bak 's/\(^[^ ]* *\)\([^ ]*\)\(.*\)$/\1\2@gmail.com\3/' file

这将保存原始文件本身的更改。

答案 2 :(得分:0)

这可能适合你(GNU sed):

sed -i 's/\S\+/&@gmail.com/2' file