2

文件是

a@gmail.com,b@yahoo.com
xyz@gmail.com
abc@gmail.com 
ff@yahoo.co.in
jf@rediff.com
oop@hotmail.com

输出应该是:

U|a@gmail.com,b@yahoo.com
D|xyz@gmail.com
R|abc@gmail.com 
U|ff@yahoo.co.in
D|jf@rediff.com
R|oop@hotmail.com

我想在每个第三个字符之后附加特定的字符串。

4

2 回答 2

4
#!/usr/bin/sed -f
s/^/U|/
n
s/^/D|/
n
s/^/R|/

sed 有用的单行脚本

于 2013-02-21T06:55:03.957 回答
4
$ awk 'BEGIN {split("UDR",p,"")} {print p[((NR-1)%3)+1] "|" $0}' a.txt
U|a@gmail.com,b@yahoo.com
D|xyz@gmail.com
R|abc@gmail.com 
U|ff@yahoo.co.in
D|jf@rediff.com
R|oop@hotmail.com
于 2013-02-21T07:16:55.730 回答