Mi archivo,
PSS-A (Primary A)
PSS-B (Primary B)
PSS-C (Primary C)
PSS-D (Primary D)
PSS-E (Primary E)
PSS-F (Primary F)
PSS-G (Primary G)
PSS-H (Primary H)
PSS-I (Primary I)
SPARE (SPARE)
Archivo de salida,
1> PSS-A (Primary A)
2> PSS-B (Primary B)
3> PSS-C (Primary C)
4> PSS-D (Primary D)
5> PSS-E (Primary E)
6> PSS-F (Primary F)
7> PSS-G (Primary G)
8> PSS-H (Primary H)
9> PSS-I (Primary I)
10> SPARE (SPARE)
shell-script
shell
text-processing
awk
sed
pmaipmui
fuente
fuente
cat
mando imprime los números de línea ... pero no exactamente lo que quería ... peroawk '{print NR "> " $s}' inputfile > outputfile
me da el resultado deseado ... :-) @amit kumarcat -n
no es portátil. Solo la-u
opción se especifica en POSIXcat
.La herramienta adecuada para este trabajo es
nl
:Es posible que desee ajustar la
w
opción idth de acuerdo con el número total de líneas en el archivo (si desea que los números estén bien alineados).Salida:
fuente
nl
trata líneas que contienen una secuencia de 1, 2 o 3\:
cadenas especialmente. Use-d $'\n'
para evitar eso. Además, por defecto, no numera líneas vacías. Use-ba
para numerar cada línea.$'...'
sintaxis es específica de bash.seq
no lo hizo. Gracias a Dios pornl
$'...'
proviene de ksh93 y también está soportado porzsh
,mksh
, sh busybox, sh FreeBSD y bash al menos. Todavía no es estándar, pero se planea incluirlo en la próxima versión principal de POSIX.$'...'
portabilidad (Cita ANSI-C): unix.stackexchange.com/questions/371827/…Lo he hecho por el siguiente método
mando:
cat -n filename |sed -r "s/^\s+//g"| sed "s/^[0-9]*/&\> /g"
salida
fuente