Domanda: Perché wc il comando stampa un conteggio dei caratteri di output errato se utilizzato con echo comando in Linux? Di seguito è riportato il comando che ho usato per contare il numero di caratteri in una stringa.
$echo "santhosh" | wc -c 9
Ma mi dà sempre un conteggio in più come si vede dall'output sopra! Sto sbagliando qualcosa? Per favore aiutami a risolverlo.
Soluzione: Il problema non riguarda wc, ma con l'uso di echo. Per impostazione predefinita echo
il comando aggiunge un carattere di nuova riga finale e quando viene inviato tramite pipe a wc comando, vedrai un carattere contare in più rispetto alla lunghezza effettiva della stringa.
Per eliminare la nuova riga finale, usa -n opzione per echo
comando come mostrato di seguito:
$echo -n "santhosh" | wc -c 8Nota
Bash è la shell dei comandi predefinita in quasi tutte le principali distribuzioni Linux. Quindi questo comando è stato testato su bash shell.