Estoy tratando de ordenar dentro de una línea de entrada sobre un número desconocido de campos:
Entrada:
ab bc
bc ab
cd ef bc
bc cd ef
cd bc ab
ef ab bc cd gh
Salida:
ab bc
ab bc
bc cd ef
bc cd ef
ab cb cd
ab bc cd ef gh
He estado usando algo como, awk '{if($2 < $1) print $2,$1;else print}'
pero parece que se volvería complicado en más de dos campos. ¿Alguna ayuda?
text-processing
awk
sort
Chris
fuente
fuente
-l
, no necesita imprimir una nueva línea.print join " ", sort @F
Será suficiente.Una forma de usar GNU awk:
Salida:
fuente
Aquí hay otra
perl
solución, similar a la respuesta de @ Birei pero más concisa:fuente
En script de shell:
(Eso se bifurca demasiado, prefiere la solución perl o gnu awk)
fuente