建议使用sed和awk操作文本文件

时间:2014-03-12 17:29:17

标签: linux bash sed awk

我一直在玩sed和awk,但似乎无法按预期工作。我试图采用firstname lastname perline的文本文件,并操纵它们以显示名字+姓氏inital。

我已经实现了最后一个首字母,然后是firstname,但是不能以相反的方式获得它^ _ ^并且帮助将不胜感激

cat /root/Desktop/Userlist.txt | awk '{ print $2, $1 }' | sed 's/\(.\).* /\1/g'

预期的示例

John Smith
JohnS

3 个答案:

答案 0 :(得分:4)

sed -r 's/^([^ ]+) ([^ ]).*$/\1\2/' /root/Desktop/Userlist.txt

catsed能够将输入文件名作为参数。

答案 1 :(得分:1)

AWK

$ echo "John Smith" | awk '{printf "%s%s\n", $1, substr($2,1,1)}'
JohnS

答案 2 :(得分:1)

sed 's/^\(.\)[^]* \{1,}\([^ ]\{1,}\).*/\2\1/' /root/Desktop/Userlist.txt 

posix compliance