Aggiungi facilmente i numeri di riga in un file di testo con la riga di comando

Brian chiede: "Devo aggiungere numeri di riga a un file di testo. Non intendo i numeri di riga nell'editor di testo, voglio dire aggiungere un numero accanto a ciascun elemento all'interno di un file di testo. È possibile automatizzare o modificare manualmente il file digitando 1, 2, 3 e diventando pazzo? "

Sì, puoi facilmente codificare i numeri di riga in un file di testo ... ti mostreremo esattamente come farlo! Per essere completamente chiari, ciò che sta per fare è aggiungere un numero di linea di conteggio sul lato sinistro di ogni nuova riga di testo, con il prefisso di ogni riga con il numero corrispondente appropriato. Questo hard lo codifica nel file di testo, il che significa che è diverso dal semplice mostrare i numeri di riga in un'app come TextWrangler, VIM o BBEdit.

Per iniziare, vai al Terminale e ti consigliamo di eseguire quanto segue al prompt della riga di comando:

Usare cat per aggiungere numeri di riga a un file di testo

Questo è di gran lunga il metodo più semplice:
cat -n file > file_new

Basta sostituire "file" con il nome del file a cui si desidera aggiungere numeri di riga e cambiare "nome_file" con il nome esportato.

Puoi anche usare il comando 'nl' come descritto di seguito:

Numeri di linea hard core in un file di testo utilizzando il comando nl

Di nuovo, sostituisci "nomefile" e "nomefile" con il nome appropriato del file a cui aggiungi i numeri di riga:

nl -ba -s ': ' filename > filenamenumbered

Questo è tutto ciò che c'è da fare! Puoi usare entrambi i trucchi. Diversi lettori hanno risposto ai commenti per fornire soluzioni più semplici alla numerazione delle righe all'interno di un file di testo. Erano elencati sopra in ordine di semplicità, ma offriremo anche una soluzione 'awk'.

-

Puoi anche usare lo strumento da riga di comando 'awk', ma è un po 'più complesso dei metodi sopra menzionati, se sei interessato a lanciare il terminale e via.

Per prima cosa, assicurati di eseguire il backup del tuo file di testo nell'evento dispari, qualcosa va storto (come un errore di sintassi). Ora che hai fatto un backup del file di testo in questione, scrivici direttamente i numeri di riga:

awk '{printf("%5d : %s\n", NR, $0)}' filename > filenamenumbered

nomefile è il file originale, e il nome file è qualsiasi cosa tu voglia chiamare l'output del comando awk con i numeri di linea ad esso associati. Il tuo documento di testo di output ora avrà un numero seguito da due punti prima di ogni elemento pubblicitario:

1: linea con le parole
2: linea con le parole
3: linea con le parole

Il tuo file di testo originale dovrebbe rimanere invariato, ma se hai commesso un errore di sintassi rispetto al file di backup che hai creato, la tua giornata verrà salvata. Questo comando funziona su qualsiasi sistema operativo Unix che abbia il supporto awk, quindi sentitevi liberi di eseguire questo comando in FreeBSD, Linux, Mac OS X o qualsiasi altra variante a cui potete pensare.