Mon fichier,
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)
Fichier de sortie,
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
la source
la source
cat
commande son impression des numéros de ligne ... mais pas exactement ce que je voulais .... maisawk '{print NR "> " $s}' inputfile > outputfile
me donne la sortie souhaitée .... :-) @amit kumarcat -n
n'est pas portable. Seule l'-u
option est spécifiée dans POSIXcat
.Le bon outil pour ce travail est
nl
:Vous voudrez peut-être régler l'
w
option idth en fonction du nombre total de lignes dans le fichier (si vous voulez que les nombres soient bien alignés).Production:
la source
nl
traite\:
spécialement les lignes contenant une séquence de 1, 2 ou 3 chaînes. Utilisez-d $'\n'
pour éviter cela. De plus, par défaut, il ne numérote pas les lignes vides. Utilisez-ba
pour numéroter chaque ligne.$'...'
syntaxe est spécifique à bash.seq
cela ne le faisait pas. Dieu mercinl
$'...'
vient de ksh93 et est également supporté parzsh
, au moinsmksh
, busybox sh, FreeBSD sh et bash. Ce n'est pas encore standard, mais il est prévu de l'inclure dans la prochaine version POSIX majeure.$'...'
portabilité (ANSI-C Quoting): unix.stackexchange.com/questions/371827/…j'ai fait par la méthode ci-dessous
commander:
cat -n filename |sed -r "s/^\s+//g"| sed "s/^[0-9]*/&\> /g"
production
la source