我一直在玩sed和awk,但似乎无法按预期工作。我试图采用firstname lastname perline的文本文件,并操纵它们以显示名字+姓氏inital。
我已经实现了最后一个首字母,然后是firstname,但是不能以相反的方式获得它^ _ ^并且帮助将不胜感激
cat /root/Desktop/Userlist.txt | awk '{ print $2, $1 }' | sed 's/\(.\).* /\1/g'
预期的示例
John Smith
JohnS
答案 0 :(得分:4)
sed -r 's/^([^ ]+) ([^ ]).*$/\1\2/' /root/Desktop/Userlist.txt
否cat
。 sed
能够将输入文件名作为参数。
答案 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