GNU/Linux >> Linux Esercitazione >  >> Linux

linux shell wc -c conta caratteri +1

Dai un'occhiata al messaggio di aiuto per wc . Il -c opzione stampa il numero di caratteri. Il echo Il comando include un carattere di nuova riga per impostazione predefinita. Quando wc vede la nuova riga lo conta come un altro carattere e quindi il conteggio aggiuntivo nel risultato. Puoi aggirare questo problema utilizzando una delle alternative mostrate di seguito; -w conta il numero di parole e -l conta il numero di righe.

echo "k" | wc -w 
echo "k" | wc -l

Puoi reindirizzare l'output di wc a awk per ottenere il numero di caratteri esclusi i caratteri di nuova riga:

wc <filename> | awk '{print $3-$1}'

L'output predefinito di wc senza opzioni stampa il numero di caratteri di nuova riga (da $1 a awk), il numero di parole e il numero di caratteri (da $3 a awk) in questo ordine.


quando fai echo "k" , il echo comando aggiunge un carattere di nuova riga a ciò che gli hai chiesto di stampare ("k"). Puoi usare il -n opzione per disabilitare questo:

echo -n k | wc -c
1

Per aver visto quell'invisibile carattere, puoi eseguire il dump del flusso con od o hd :

echo k | od -t c
0000000   k  \n

echo k | hd
00000000  6b 0a                                             |k.|

echo k | od -t a -A n
   k  nl

È perché stai usando echo , che aggiunge una nuova riga alla stringa. Usa printf invece:

$ echo k | wc -c 
       2
$ printf k | wc -c
       1

Linux
  1. Conta righe, parole e caratteri da un file in Linux

  2. Come cambiare la shell in Linux

  3. Comando eco di Linux

  4. Esempi di comandi echo in Linux

  5. Cosa fa % nelle stringhe della shell di Linux?

Comando Echo in Linux

Esempi di comandi WC:conta il numero di righe, parole e caratteri in Linux

Che cos'è Login Shell in Linux?

Comando Linux wc – Conteggio di parole, righe, caratteri in un file

Esempi di comandi wc in Linux

8 tipi di shell Linux