GNU/Linux >> Znalost Linux >  >> Linux

Jak přidat čísla řádků do textových souborů v systému Linux

Přemýšleli jste někdy, jak přidat čísla řádků do standardního výstupu textových souborů? Tento stručný průvodce vysvětluje, jak můžete do daného textového souboru přidat čísla řádků. Existuje několik způsobů, jak přidat čísla řádků do souboru. Zde jsem pokryl 6 různých metod, jak to udělat. Pokud v budoucnu na nějaké narazím, budu přidávat další metody. Raději si tuto příručku uložte do záložek a vraťte se později, abyste zjistili, zda jsou nějaké doplňky.

Metoda 1 – Použití příkazu 'nl'

Příkaz "nl" je určen pro přidávání čísel řádků do souboru. Zapíše daný soubor na standardní výstup s přidanými čísly řádků. Mám soubor s názvem soubor.txt s následujícím obsahem.

$ cat file.txt 
This is line1
This is line2
This is line3

This is line5


This is line8

Jak vidíte na výše uvedeném výstupu, soubor má 8 řádků a tři prázdné řádky. Přidejme čísla řádků.

Chcete-li to provést, spusťte:

 $ nl file.txt
 1 This is line1
 2 This is line2
 3 This is line3
 
 4 This is line5
 
 
 5 This is line8

Příkaz nl nebere v úvahu prázdné řádky. Čísla doplní pouze na neprázdné řádky. Pokud chcete očíslovat všechny řádky včetně prázdných řádků, použijte -b příznak jako níže.

 $ nl -b a file.txt 
 1 This is line1
 2 This is line2
 3 This is line3
 4 
 5 This is line5
 6 
 7 
 8 This is line8

Za čísla můžete také přidat symbol/speciální znaky. Chcete-li například přidat tečku (.) za čísla, spusťte:

 $ nl -s "." file.txt 
 1.This is line1
 2.This is line2
 3.This is line3
 
 4.This is line5
 
 
 5.This is line8

Možná budete chtít zarovnat šířku výstupu. Chcete-li to provést, použijte příznak -w, jak je uvedeno níže.

$ nl -w2 file.txt

Metoda 2 – Použití příkazu 'cat'

Příkaz cat se používá k zobrazení obsahu souboru. Pokud chcete do výstupu souboru přidat čísla, použijte parametr -n jako níže.

 $ cat -n file.txt 
 1 This is line1
 2 This is line2
 3 This is line3
 4 
 5 This is line5
 6 
 7 
 8 This is line8

Případně můžete standardní výstup předat do nového souboru, jak je uvedeno níže.

$ cat -n file.txt > newfile.txt

Můžete se také chtít zbavit opakovaných prázdných řádků.

 $ cat -s -n file.txt 
 1 This is line1
 2 This is line2
 3 This is line3
 4 
 5 This is line5
 6 
 7 This is line8

Metoda 3 – Použití příkazu 'awk'

Chcete-li přidat čísla řádků do výstupu souboru pomocí příkazu awk, spusťte:

$ awk 'BEGIN{i=1} /.*/{printf "%d.% s\n",i,$0; i++}' file.txt 
1.This is line1
2.This is line2
3.This is line3
4.
5.This is line5
6.
7.
8.This is line8

Jak jste si mohli všimnout, startovní číslo jsem přiřadil jako 1 v parametru BEGIN. Můžete přiřadit jakékoli jiné startovní číslo dle vašeho výběru, například 5, jak je uvedeno níže.

$ awk 'BEGIN{i=5} /.*/{printf "%d.% s\n",i,$0; i++}' file.txt 
5.This is line1
6.This is line2
7.This is line3
8.
9.This is line5
10.
11.
12.This is line8

Pokud nechcete brát v úvahu prázdné řádky, použijte následující příkaz:

$ awk 'BEGIN{i=0} {if($0 !~ /^$/) {printf ("%d.%s \n",i,$0); i++} else { print $0} } ' file.txt

Pokud si myslíte, že výše uvedené příkazy jsou trochu obtížně zapamatovatelné, použijte místo toho následující příkaz.

$ awk '{ print FNR " " $0 }' file.txt 
1 This is line1
2 This is line2
3 This is line3
4 
5 This is line5
6 
7 
8 This is line8

Pokud chcete zvětšit mezeru mezi čísly a textem, spusťte:

$ awk '{ print FNR "\t " $0 }' file.txt

Metoda 4 – Použití příkazu 'sed'

Chcete-li přidat čísla řádků do standardního výstupu souboru pomocí příkazu sed, spusťte:

$ sed '/./=' file.txt | sed '/./N; s/\n/ /'
1 This is line1
2 This is line2
3 This is line3

5 This is line5


8 This is line8

Příkaz sed má skvělou funkci, která se mi líbí nejvíce. Můžeme zobrazit N řádek ze souboru. Chcete-li například zobrazit 3. řádek v souboru, spusťte:

$ sed -n 3p file.txt 
This is line3

Metoda 5 – Použití příkazu 'méně'

Chcete-li číslo řádku na standardní výstup souboru pomocí příkazu less, spusťte:

 $ less -N file.txt 
 1 This is line1
 2 This is line2
 3 This is line3
 4 
 5 This is line5
 6 
 7 
 8 This is line8

Metoda 6 – Použití příkazu 'grep'

příkaz grep lze použít k vyhledání řádku, který obsahuje konkrétní řádek. Pokud chcete přidat čísla řádků do řádku, který má konkrétní písmeno, například řádek , spustit:

$ grep -n "line" file.txt 
1:This is line1
2:This is line2
3:This is line3
5:This is line5
8:This is line8

Upozorňujeme, že tento příkaz přidá čísla pouze do řádků, které obsahují hledaný řetězec. Vše ostatní v daném souboru bude vynecháno.

A to je vše. Další podrobnosti o výše uvedených příkazech naleznete v manuálových stránkách. Nyní znáte různé metody přidávání čísel řádků do textových souborů. Doufám, že vám to bude užitečné. Přijdou další dobré věci. Zůstaňte naladěni!

Na zdraví!


Linux
  1. Jak přidat text na konec souboru v Linuxu

  2. Jak spojit dva textové soubory v Linuxu

  3. Vytvářejte soubory pomocí příkazového řádku v Linuxu

  1. Jak rozeznat binární soubory od textových souborů v linuxu

  2. Jak rozdělit jeden textový soubor do více souborů *.txt?

  3. Jak v linuxu vidím du v GB místo MB?

  1. Jak odstranit soubory a adresáře v Linuxu z příkazového řádku

  2. Jak rozdělit a kombinovat soubory z příkazového řádku v Linuxu

  3. 11 Příklady příkazů Linux diff3 (Porovnejte 3 soubory řádek po řádku)