GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Shell wc -c Zeichenanzahl +1

Sehen Sie sich die Hilfenachricht für wc an . Die -c Option gibt die Anzahl der Zeichen aus. Die echo Der Befehl enthält standardmäßig ein Zeilenumbruchzeichen. Wenn wc sieht den Zeilenumbruch, zählt es als ein anderes Zeichen und daher die zusätzliche Zählung in Ihrem Ergebnis. Sie können dies umgehen, indem Sie eine der unten gezeigten Alternativen verwenden; -w zählt die Anzahl der Wörter und -l zählt die Anzahl der Zeilen.

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

Sie können die Ausgabe von wc weiterleiten bis awk um die Anzahl der Zeichen ohne die Newline-Zeichen zu erhalten:

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

Die Standardausgabe von wc ohne Optionen gibt die Anzahl der Zeilenumbrüche ($1 bis awk), die Anzahl der Wörter und die Anzahl der Zeichen ($3 bis awk) in dieser Reihenfolge aus.


wenn Sie echo "k" , die echo Der Befehl fügt ein Zeilenumbruchzeichen an das an, was Sie ausgeben möchten ("k"). Sie können den -n verwenden Option, um dies zu deaktivieren:

echo -n k | wc -c
1

Zum Anzeigen dieses unsichtbaren Zeichen, könnten Sie den Stream mit od ausgeben oder 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

Das liegt daran, dass Sie echo verwenden , wodurch Ihrer Zeichenfolge ein Zeilenumbruch hinzugefügt wird. Verwenden Sie printf stattdessen:

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

Linux
  1. Zählen Sie Zeilen, Wörter und Zeichen aus einer Datei in Linux

  2. So ändern Sie die Shell unter Linux

  3. Echo-Befehlsbeispiele in Linux

  4. Wie konvertiere ich Hex in ASCII-Zeichen in der Linux-Shell?

  5. Was macht % in Linux-Shell-Strings?

Echo-Befehl unter Linux

Beispiele für WC-Befehle:Zählen Sie die Anzahl der Zeilen, Wörter und Zeichen in Linux

Was ist die Login-Shell in Linux?

Linux wc Command – Anzahl der Wörter, Zeilen, Zeichen in einer Datei

wc-Befehlsbeispiele in Linux

8 Arten von Linux-Shells