Ich möchte die nachstehenden Leerzeichen in der Textdatei drucken und sehen können (nur anzeigen, nicht entfernen).
Ich habe versucht, mit cat -v
which assume nicht druckbare Zeichen anzuzeigen, aber es zeigt sie nicht wie erwartet an (kein visueller Unterschied zwischen den Zeilen). Beispiel:
$ printf "foo\nbar \t\n" > file.txt
$ cat -v file.txt
foo
bar
Mit „Leerzeichen drucken/anzeigen“ meine ich eine visuelle menschliche Anzeige, dass das nachstehende Leerzeichen im Vergleich zu anderen Zeilen ohne vorhanden ist, entweder durch ein Sonderzeichen, eine Farbe (wie wenn Dateien mit angezeigt werden git diff
) oder etwas Ähnliches.
Gibt es einen anderen Weg?
Hinweis: Ich verwende macOS Sierra, habe jedoch Zugriff auf sowohl GNU- als auch BSD- cat
Befehle:
$ type -a cat
cat is /usr/local/opt/coreutils/libexec/gnubin/cat
cat is /bin/cat
$ cat --version
cat (GNU coreutils) 8.28
$ /bin/cat --version
/bin/cat: illegal option -- -
usage: cat [-benstuv] [file ...]
Antwort1
gnu cat
hat den -E
Schalter dafür also mit einem Eingang wie
printf " one \ntwo \t\n"
es wird gedruckt
one $
two $
Es gibt viele Möglichkeiten, dieses Verhalten zu emulieren, z. B. durch Verwendung sed
im „Raw“-Modus:
sed -n l infile
oder
paste -d '$' infile /dev/null
oder verwenden Sie ein beliebiges Textverarbeitungsprogramm, um $
vor jeder neuen Zeile ein ... einzufügen.
Sie könnten auch etwas wie versuchen
less -p '[[:blank:]]+$' infile
Dadurch wird das Muster hervorgehoben (in diesem Fall die nachstehenden Leerzeichen) ...