我有一个这样的文件:
-2 abandonar
-2 abandono
-2 abandonas
-2 abandona
-2 abandonamos
-2 abandonáis
-2 abandonan
-4 abandonado
-4 abandonada
-4 abandonados
-4 abandonadas
-5 abandona
-5 abandonos
-3 secuestrado
-3 secuestrada
-3 secuestrados
-3 secuestradas
-3 secuestraría
-3 secuestrarías
-3 secuestraríamos
-3 secuestraríais
-3 secuestrarían
我希望输出保留col 1,并且所有其他列只添加到一行中,如所需输出中所示 期望的输出:
-2 abandonar abandono abandonas abandona abandonamos abandonáis abandonan
-4 abandonado abandonada abandonados abandonadas
-5 abandona abandonos
-3 secuestrado secuestrada secuestrados secuestradas secuestraría secuestrarías secuestraríamos secuestraríais secuestrarían
到目前为止我的努力:
nawk '1' RS='\n' ORS=' ' filename
和
awk '{RS="\n"; ORS=" "}{ print }' filename
我需要你的支持,最好使用awk,我是新手。感谢您的期待。
答案 0 :(得分:0)
$ awk '$1!=p{printf "%s%s", (NR>1?ORS:""), $1; p=$1} {printf "%s%s", OFS, $2} END{print ""}' file
-2 abandonar abandono abandonas abandona abandonamos abandonáis abandonan
-4 abandonado abandonada abandonados abandonadas
-5 abandona abandonos
-3 secuestrado secuestrada secuestrados secuestradas secuestraría secuestrarías secuestraríamos secuestraríais secuestrarían
要学习Awk,请阅读Arnold Robbins撰写的Effective Awk Programming,4th Edition?
答案 1 :(得分:0)
$ awk '{a[$1]=a[$1] " " $2} END {for (i in a) { print i, a[i] }}' file
-4 abandonado abandonada abandonados abandonadas
-3 secuestrado secuestrada secuestrados secuestradas secuestraría secuestrarías secuestraríamos secuestraríais secuestrarían
-2 abandonar abandono abandonas abandona abandonamos abandonáis abandonan
-5 abandona abandonos