An verschiedenen Stellen im Internet habe ich gefunden:
\015
\012
\x0a - hex
\n
\r
alles als Synonyme für verschiedene Zeilenumbrüche / Wagenrückläufe ...
Aber in diesem kleinen Skript kann ich nicht erkennen, wann ich auf eine neue Zeile stoße - kann mir jemand sagen, worauf ich in der if-Zeile achten soll?
#!/bin/bash
test="this is a
test"
for a in "$test"; do
if [[ "$a" == '\012' ]] ; then
echo "FOUND NEWLINE"
fi
echo "$a"
done
wc -l
wird 0 zurückgegeben. Sie sollten das als Antwort hinzufügen
cat | while read line; do ...; done
, wissen Sie, dass für jede Iteration ein Wagenrücklauf vorhanden war. Wenn Ihre Eingabe Dateien mit\r
ohne sein kann\n
, transformieren Sie die Datei einfach,tr '\r' '\n'
während Sie die Eingabe verarbeiten. Wenn Sie nur wissen müssen, ob mehrere Zeilen vorhanden sind :wc -l
.