Ich folge zu einzige Zeile die versuchen, Arbeits Befehl es in einem Bash auszuführen:einzelne Zeile cmd sed Mac OSX el Capitan
LANG=C sed -E '
s/$/\\z/
:while
s/([0-9]{6})(.*\\z.*)/\2 "\1"/
twhile
s/.*\\z//' myfile.txt
Probe für myfile.txt:
123456 \ r \ n \ r \ n 789.112 \ r \ n 889667
Ausgabe des obigen cmd (was das erwartete Ergebnis ist) :
"123456", "789.112" "889.667"
weder diese:
LANG=C sed -E 's/$/\\z/; :while; s/([0-9]{6})(.*\\z.*)/\2 "\1"/; twhile; s/.*\\z//' myfile.txt
output:
123456 \ r \ r \ \ n n 789.112 \ r \ n 889667 \ z
oder dies tatsächlich funktioniert:
LANG=C sed -E 's/$/\\z/' -E :while -E 's/([0-9]{6})(.*\\z.*)/\2 "\1"/;twhile' -E 's/.*\\z//' myfile.txt
Ausgang:
sed: -E: Keine solche Datei oder das Verzeichnis
sed: während: Keine solche Datei oder das Verzeichnis
sed : -E: Keine solche Datei oder kein Verzeichnis
sed: s/([0-9] {6}) (. \ z.)/\ 2 "\ 1" /; twhile: Datei oder Verzeichnis
Sed: -E: Datei oder das Verzeichnis
Sed: s /.* \ z //: Datei oder das Verzeichnis
123456 \ r \ n \ r \ n 789.112 \ r \ n 889.667 \ z
Als Ergebnis sowohl zeigt das eine und einzige Zeile der Datei anstelle von mehreren Instanzen des Musters/[0-9] {6}/
Ich glaube, dass ich vermisse g etwas über die Verwendung von Semikolon ..
Welchen Fehler erhalten Sie? – 123
Beide zeigen die einzige Zeile der Datei anstelle der Mehrfachinstanz des Musters/[0-9] {6}/an. Verpasste diesen Punkt in der Post, danke;) – user2702566
Können Sie Beispiel Eingabe und Ausgabe? – 123