我是linux的新手,不知道如何解决我的问题。我有这样的输出(约200行):
Peter Griffin
222
Vasya Pupkin
333
我需要将其转换为:
222, Peter Griffin
333, Vasya Pupkin
我试过
ldapsearch -LLL -D $bindDN -w $password -p $port -h $host -b $searchBase -S "telephoneNumber" -s sub cn telephoneNumber | grep -v "dn: " | grep "\\n" | awk -F": " '{ print $2 }'
我怎么能意识到这一点?
答案 0 :(得分:1)
xargs -L2 < inputfile|awk '{x=$NF;$NF=""; print x "," $0 }'
222,Peter Griffin
333,Vasya Pupkin
说明:xargs -L2
是将两个连续的行组合成一个。将输入更改为单行后,将其提供给awk
以进行列操作。
Awk单独解决方案:
awk 'NR%2{x=$0;next} {print $0,",",x}' inputfile
答案 1 :(得分:1)
可以单独在Awk
中完成,
awk '{getline nextLine; print nextLine,$0}' OFS="," file
222,Peter Griffin
333,Vasya Pupkin
因此,使用您的命令,只需将产生这些行的输出传递给上面的Awk
,
.. | awk '{getline nextLine; print nextLine,$0}' OFS=","