GNU/Linux >> Znalost Linux >  >> Linux

10 příkladů příkazů Cat pro správu souborů v systému Linux / UNIX

Příkaz Cat je jedním ze základních příkazů, které jste se naučili, když jste začínali ve světě Unix / Linux.

Už víte, že kočka zobrazuje obsah souboru. Co víc může tento příkaz udělat?

Tento tutoriál poskytuje 10 praktických příkladů použití příkazu cat. Pravděpodobně jen málo z těchto příkladů pro vás může být nových. Nebo to pro vás může být jen osvěžení, pokud jste tyto příklady již znali.

1. Zobrazit obsah souboru

Když předáte název souboru jako argument pro cat, zobrazí se obsah souboru, jak je znázorněno níže.

$ cat program.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}

Můžete také zobrazit obsah více než jednoho souboru, jak je uvedeno níže.

$ cat program.pl program2.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}
#!/usr/bin/perl

@arr = qw(1 2 3);
$ref = \@arr;
print ref $ref;

2. Vytvořit nový soubor

Pomocí příkazu cat lze řádky přijaté z stdin přesměrovat do nového souboru pomocí symbolů přesměrování.

Když napíšete jednoduše příkaz cat bez jakýchkoli argumentů, pouze přijme obsah stdin a zobrazí jej ve stdout. Takže po napsání řádku jednou, když stisknete Enter, se stejný řádek vytiskne na následující řádek, jak je vidět níže.

$ cat
cat command for file oriented operations.
cat command for file oriented operations.
cp command for copy files or directories.
cp command for copy files or directories.

Můžete také přesměrovat stdout do nového souboru, jak je ukázáno níže.

$ cat >cmd_usage.txt
cat command for file oriented operations.
cp command for copy files or directories.

$ cat cmd_usage.txt
cat command for file oriented operations.
cp command for copy files or directories.

Někdy možná budete muset přidat obsah k souboru, použijte>> symbol přesměrování, jak je uvedeno níže.

$ cat >>cmd_usage.txt
ls command to list out file and directory with its attributes.

$ cat cmd_usage.txt
cat command for file oriented operations.
cp command for copy files or directories.
ls command to list out file and directory with its attributes.

3. Kopírovat obsah souboru

Symboly přesměrování v unixu hrají důležitou roli při zpracování obsahu standardního deskriptoru souboru. Pomocí něj můžete zkopírovat obsah jednoho souboru do druhého, jak je znázorněno níže.

$ cat program.pl >backup_prgm.pl

Jak je vidět výše, protože jsme použili přesměrování výstupu, obsah zobrazený ve standardním výstupu je přesměrován do nového souboru s názvem backup_pgrm.pl. Zobrazit obsah backup_pgrm.pl:

$ cat backup_pgrm.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}

4. Zřetězit obsah více souborů

Pomocí příkazu cat budete moci zřetězit obsah více než jednoho souboru do nového souboru.

Například kódy z program.pl a program2.pl se sloučí do nového souboru all_pgrm.pl.

$ cat program.pl program2.pl >all_pgrm.pl

Jak je vidět výše, stdout se přesměruje a nový soubor byl vytvořen s obsahem program.pl a program2.pl. Ověřte obsah all_pgrm.pl:

$ cat all_pgrm.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}
#!/usr/bin/perl

@arr = qw(1 2 3);
$ref = \@arr;
print ref $ref;

5. Zobrazit čísla řádků

Chcete-li zobrazit obsah souboru s číslem řádku před každým řádkem, použijte volbu -n. Následující příklad vytiskne číslo řádku pro řádky z program.pl,

$ cat -n program.pl
1 #!/usr/bin/perl
2
3 
4 if( 2 ge 3) {
5 print "greater\n";
6 } else {
7 print "lesser\n";
8 }
9
10

Jak jste si všimli výše, i prázdné řádky jsou očíslovány. V případě číslování pouze neprázdných řádků použijte volbu -b následovně,

$ cat -b program.pl
1 #!/usr/bin/perl

2     
3 if( 2 ge 3) {
4 print "greater\n";
5 } else {
6 print "lesser\n";
7 }

Všimněte si, že řádky, které obsahují mezery, nejsou považovány za prázdné řádky a totéž platí pro řádek s číslem 2.

6. Spojte obsah souboru spolu se vstupem ze Stdin

Je zde možnost číst řádky ze stdin spolu se zřetězením dalších souborů. Uživatel tedy může zadat svůj vlastní obsah, kdykoli je to požadováno.

V následujícím příkladu můžete při kombinování souborů na začátek vložit několik řádků (ze stdin).

$ cat - program.pl program2.pl >all_pgrm.pl
Contents from file : program.pl, program2.pl

Jak je vidět výše, – je místo, kde můžete číst ze stdin, proto byl 1 řádek ze stdin vložen na začátek nového souboru s názvem all_pgrm.pl s druhým obsahem ze souborů program.pl a program2.pl:

$ cat -n all_pgrm.pl
1 Contents from file : program.pl, program2.pl
2 #!/usr/bin/perl
3
4
5 if( 2 ge 3) {
6 print "greater\n";
7 } else {
8 print "lesser\n";
9 }
10
11
12 #!/usr/bin/perl
13
14 @arr = qw(1 2 3);
15 $ref = \@arr;
16 print ref $ref;

7. Nezobrazovat opakované prázdné výstupní řádky

Někdy by soubor obsahoval opakované prázdné řádky, které nechcete při vypisování zobrazovat ve stdout. Příkaz cat poskytuje volbu nazvanou -s, která potlačí po sobě jdoucí prázdné výstupní řádky do jednoho a zobrazí.

Jak jsme si všimli v prvním příkladu použití 5 (tj.:Zobrazení s číslem řádku před každým řádkem), v souboru program.pl jsou dva po sobě jdoucí prázdné výstupní řádky s čísly 9 a 10. Možná je nechcete zobrazovat opakované prázdné výstupní řádky. Toto lze potlačit, jak je ukázáno níže:

# cat -sn program.pl
1 #!/usr/bin/perl
2
3 
4 if( 2 ge 3) {
5 print "greater\n";
6 } else {
7 print "lesser\n";
8 }
9

Řádek 9 a 10 se ve výše uvedeném výstupu potlačí do jednoho prázdného řádku (tj.:řádek 9).

8. Zobrazit konec řádku a znaky TAB

Můžete přimět kočku, aby na konci každého řádku zobrazovala znak $. Normálně při výpisu obsahu souboru uživatelé nemohou identifikovat mezery na konci každého řádku pomocí volby cat -e.

Například použijte volbu -e v souboru program.pl. Jak je ukázáno níže, třetí řádek tohoto souboru (tj.:program.pl) ve skutečnosti není prázdný řádek a stejně tak řádek 7 končí mezerami.

$ cat -ne program.pl
1 #!/usr/bin/perl$
2 $
3     $
4 if( 2 ge 3) {$
5 print "greater\n";$
6 } else {$
7 print "lesser\n";      $
8 }$
9 $
10 $

Použijte volbu -T pro zobrazení znaků tabulátoru. Zobrazuje ^I pro znak TAB. Jak je uvedeno níže, řádek 5 a řádek 7 začínají znakem TAB.

$ cat -neT program.pl
1 #!/usr/bin/perl$
2 $
3     $
4 if( 2 ge 3) {$
5 ^Iprint "greater\n";$
6 } else {$
7 ^Iprint "lesser\n";      $
8 }$
9 $
10 $

9. Číst obsah až do konkrétního vzoru

Dokument here lze použít spolu s příkazem cat. Například, když čtete ze stdin, můžete číst až do řádku, který obsahuje konkrétní vzor. V níže uvedeném příkladu jsou bloky řádků načteny z stdin (do EOF) a vytištěny na standardním výstupu.

$ cat <<EOF
> mv command to move files and directories
> top command to display linux tasks
> EOF
mv command to move files and directories
top command to display linux tasks

10. Zobrazit obsah souboru obráceně

Tento příklad je podvodník. Toto opravdu není příklad kočičího příkazu, ale souvisí to.

tac je opakem kat. Jak si dokážete představit, tac pouze zobrazí obsah souboru v opačném pořadí (řádky zdola se zobrazí jako první). Pokud chcete pouze obrátit znaky v řádku, měli byste použít příkaz rev.

Například soubor program.pl se zobrazuje obráceně jako:

$ tac program.pl 

}
	print "lesser\n";           
} else {
	print "greater\n";
if( 2 ge 3) {

#!/usr/bin/perl

Linux
  1. 7 Příklady příkazů Patch pro použití souborů oprav rozdílů v systému Linux

  2. V příkladech příkazů v Linuxu

  3. soubor Příklady příkazů v Linuxu

  1. Důležité příklady příkazů Cat v Linuxu

  2. 5 příkladů příkazů Wget ke stažení souborů v Linuxu.

  3. příklady příkazů tail v UNIX/Linux

  1. 8 Příklady příkazů hlavy v Linuxu

  2. 8 Příklady příkazů Stat v Linuxu

  3. 14 Užitečné příklady příkazů „cat“ v Linuxu