Bueno, pero no agregaste nada. Además, precisamente la idea de usar sort es poder mezclar todos los puertos en un archivo para después ordenarlos.
Primero: crear un archivo con los puertos no asignados. ¿Ahora parece que también pueden empezar por numeral? ¿Hay otras líneas que tienen guión? Si no hay un patrón, es sencillamente imposible. Casi siempre lo hay, pero eso lo tienes que saber tú. Suponiendo que el patrón es que tienen la palabra Unassigned:
Código:
cat archivoinicial|grep Unassigned|tr '-' ' '|awk '{print $1, $2}' > /tmp/noasignados
Luego, eso se lee con un bucle while:
Código:
while read line
do
for i in `seq $line`;
do echo $i Unassigned>> /tmp/puertos.txt;
done;
done </tmp/noasignados
Después, creás el archivo opuesto a noasignados. Es decir, se invierte el patrón:
Código:
cat archivoinicial|grep -v Unassigned >> archivofinal
Le agregás todos los puertos no asignados:
Código:
cat /tmp/puertos.txt >> archivofinal
Y lo sacás en orden:
Código:
cat archivofinal|sort
Ni era tan difícil, ni aportaste una línea. Si te ayudé hasta acá es porque intuyo que le estás poniendo algo de ganas de aprender. Pero a cada post se nota un poco menos.
Nota: si hay numerales adelante, hay que sacarlos antes de empezar, bien con tr, bien con sed. Con tr habría que reemplazarlos por nueva línea: \n, porque no acepta caracteres nulos.