File saya,
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)
Berkas keluaran,
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
sumber
sumber
cat
perintahnya mencetak nomor baris ... tapi tidak persis apa yang saya inginkan .... tetapiawk '{print NR "> " $s}' inputfile > outputfile
memberi saya output yang diinginkan .... :-) @ kumit kumarcat -n
itu tidak portabel. Hanya-u
opsi yang ditentukan dalam POSIXcat
.Alat yang tepat untuk pekerjaan ini adalah
nl
:Anda mungkin ingin menyetel
w
opsi idth sesuai dengan jumlah total baris dalam file (jika Anda ingin angka disejajarkan dengan baik).Keluaran:
sumber
nl
memperlakukan garis yang mengandung urutan 1, 2 atau 3\:
string secara khusus. Gunakan-d $'\n'
untuk menghindari itu. Juga, secara default, itu tidak nomor garis kosong. Gunakan-ba
untuk memberi nomor setiap baris.$'...'
sintaksnya khusus untuk bash.seq
tidak berhasil. Terima kasih Tuhan untuknl
$'...'
berasal dari ksh93 dan juga didukung olehzsh
,mksh
, busybox sh, FreeBSD sh dan bash setidaknya. Ini belum standar, tetapi direncanakan untuk dimasukkan dalam versi POSIX utama berikutnya.$'...'
portabilitas (ANSI-C) portabilitas: unix.stackexchange.com/questions/371827/…saya lakukan dengan metode di bawah ini
perintah:
cat -n filename |sed -r "s/^\s+//g"| sed "s/^[0-9]*/&\> /g"
keluaran
sumber