Meine Datei,
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)
Ausgabedatei,
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
quelle
quelle
cat
Befehl werden die Zeilennummern gedruckt ... aber nicht genau das, was ich wollte ... aber esawk '{print NR "> " $s}' inputfile > outputfile
gibt mir die gewünschte Ausgabe ... :-) @amit kumarcat -n
nicht tragbar ist.-u
In POSIXcat
ist nur die Option angegeben .Das richtige Werkzeug für diesen Job ist
nl
:Möglicherweise möchten
w
Sie die Option idth entsprechend der Gesamtzahl der Zeilen in der Datei anpassen (wenn Sie möchten, dass die Zahlen gut ausgerichtet sind).Ausgabe:
quelle
nl
behandelt\:
speziell Zeilen, die eine Folge von 1, 2 oder 3 Zeichenfolgen enthalten. Verwenden Sie-d $'\n'
, um das zu vermeiden. Außerdem werden standardmäßig keine Leerzeilen nummeriert. Verwenden Sie-ba
diese Option, um jede Zeile zu nummerieren.$'...'
Syntax bash-spezifisch ist.seq
es das nicht tat. Gott sei Dank fürnl
$'...'
kommt von ksh93 und wird auch von unterstütztzsh
,mksh
, busybox sh, FreeBSD sh und bash mindestens. Es ist noch nicht Standard, soll aber in die nächste große POSIX-Version aufgenommen werden.$'...'
Portabilität (ANSI-C Quoting): unix.stackexchange.com/questions/371827/…Ich habe nach der folgenden Methode getan
Befehl:
cat -n filename |sed -r "s/^\s+//g"| sed "s/^[0-9]*/&\> /g"
Ausgabe
quelle