GNU/Linux >> Linux Esercitazione >  >> Linux

10 esempi di comandi Cat per gestire i file in Linux / UNIX

Il comando Cat è uno dei comandi di base che hai imparato quando hai iniziato nel mondo Unix/Linux.

Sai già che il gatto mostra il contenuto di un file. Cos'altro potrebbe fare questo comando?

Questo tutorial fornisce 10 esempi pratici di utilizzo per il comando cat. Probabilmente pochi di questi esempi potrebbero essere nuovi per te. Oppure potrebbe essere solo un aggiornamento per te, se conoscessi già questi esempi.

1. Visualizza il contenuto di un file

Quando si passa il nome del file come argomento a cat, viene visualizzato il contenuto del file come mostrato di seguito.

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

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

Puoi anche visualizzare il contenuto di più di un file come mostrato di seguito.

$ 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. Crea un nuovo file

Usando il comando cat, le righe ricevute da stdin possono essere reindirizzate a un nuovo file usando i simboli di reindirizzamento.

Quando si digita semplicemente il comando cat senza argomenti, riceve semplicemente il contenuto stdin e lo visualizza nello stdout. Quindi, dopo aver digitato la riga una volta, quando si preme invio, la stessa riga viene stampata nella riga successiva come mostrato di seguito.

$ 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.

Puoi anche reindirizzare lo stdout a un nuovo file come mostrato di seguito.

$ 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.

A volte potrebbe essere necessario aggiungere il contenuto a un file, utilizzare>> il simbolo di reindirizzamento come mostrato di seguito.

$ 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. Copia il contenuto del file

I simboli di reindirizzamento in unix svolgono un ruolo importante nell'elaborazione del contenuto del descrittore di file standard. Usandolo, puoi copiare il contenuto di un file in un altro come mostrato di seguito.

$ cat program.pl >backup_prgm.pl

Come visto sopra, poiché abbiamo utilizzato il reindirizzamento dell'output, il contenuto visualizzato nell'output standard viene indirizzato in un nuovo file chiamato backup_pgrm.pl. Visualizza il contenuto di backup_pgrm.pl:

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

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

4. Concatena i contenuti di più file

Attraverso il comando cat, sarai in grado di concatenare i contenuti di più di un file in un nuovo file.

Ad esempio, i codici di program.pl e program2.pl vengono combinati in un nuovo file all_pgrm.pl.

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

Come visto sopra, stdout viene reindirizzato e il nuovo file è stato creato con i contenuti di program.pl e program2.pl. Verifica il contenuto di 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. Visualizza i numeri di riga

Per visualizzare il contenuto di un file con il numero di riga davanti a ciascuna riga, utilizzare l'opzione -n. L'esempio seguente stampa il numero di riga per le righe da 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

Come hai notato sopra, anche le righe vuote sono numerate. In caso di numerazione solo di righe non vuote, utilizzare l'opzione -b come segue,

$ 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 }

Si noti che le righe che contengono spazi bianchi non sono considerate righe vuote e lo stesso vale per la riga numerata 2.

6. Concatena il contenuto del file insieme all'input da Stdin

C'è la possibilità di leggere le righe da stdin insieme alla concatenazione di altri file. Quindi l'utente può digitare il proprio contenuto ogni volta che lo richiede.

Nell'esempio seguente, puoi inserire alcune righe (da stdin) all'inizio mentre combini i file insieme.

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

Come visto sopra, – è il posto dove puoi leggere da stdin, di conseguenza 1 riga da stdin è stata inserita all'inizio di un nuovo file chiamato all_pgrm.pl con quest'ultimo contenuto dai file program.pl e 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. Non visualizzare righe di output vuote ripetute

A volte il file conterrebbe righe vuote ripetute che non si desidera visualizzare nello stdout durante l'elenco. Il comando cat fornisce un'opzione chiamata -s che sopprime le righe di output vuote consecutive in una e visualizza.

Come notato nel primo esempio di utilizzo 5 (es:Visualizza con il numero di riga davanti a ciascuna riga), ci sono due righe di output vuote consecutive nel file program.pl numerate 9 e 10. Forse non si desidera visualizzare quelle righe di output vuote ripetute. Questo può essere soppresso come mostrato di seguito:

# 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

Rispettivamente la riga 9 e 10 viene soppressa in una riga vuota nell'output sopra (es:riga 9).

8. Visualizza i caratteri di fine riga e TAB

Puoi fare in modo che il gatto mostri il carattere $ alla fine di ogni riga. Normalmente elencando il contenuto dei file, gli utenti non possono identificare gli spazi bianchi alla fine di ogni riga, utilizzando l'opzione cat -e.

Ad esempio, utilizzare l'opzione -e sul file program.pl. Come mostrato di seguito, la terza riga di questo file (es:program.pl) in realtà non è una riga vuota e anche la riga 7 termina rispettivamente con spazi bianchi.

$ 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 $

Utilizzare l'opzione -T per visualizzare i caratteri di tabulazione. Visualizza ^I per il carattere TAB. Come mostrato di seguito, line5 e line7 iniziano con un carattere 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. Leggi il contenuto fino a un modello specifico

Il documento here può essere utilizzato insieme al comando cat. Ad esempio, quando leggi da stdin, puoi leggere fino a una riga che contiene uno schema specifico. Nell'esempio seguente, il blocco di linee viene letto da stdin (fino a EOF) e stampato sullo standard output.

$ 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. Visualizza il contenuto del file al contrario

Questo esempio è un imbroglione. Questo in realtà non è un esempio di comando cat, ma è correlato.

tac è il contrario di cat. Come puoi immaginare, tac visualizzerà semplicemente il contenuto di un file in ordine inverso (le righe dal basso vengono visualizzate per prime). Se vuoi semplicemente invertire i caratteri nella riga, dovresti usare il comando rev.

Ad esempio, il file program.pl viene visualizzato al contrario come:

$ tac program.pl 

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

#!/usr/bin/perl

Linux
  1. 5 Esempi di comandi Wget per scaricare file in Linux.

  2. 7 Esempi di comandi di patch per applicare i file di patch Diff in Linux

  3. 14 Utili esempi di comandi "cat" in Linux

  4. ln Esempi di comandi in Linux

  5. file Esempi di comandi in Linux

lsof Command in Linux (10 esempi)

Touch Command in Linux (5 esempi)

Utilizzo di Cat Command in Linux con esempi

Cat Command in Linux:esempi essenziali e avanzati

comando ls in Linux/UNIX

Esempi di comandi di Linux cat