Ich habe eine Datei, in der ich in ;
jeder Zeile nach dem ersten alles beseitigen muss.
Also eine Datei wie diese:
sdfsdsdf;
fsdfsddf;sdfsd;
Wird dazu führen, dass:
sdfsdsdf
fsdfsddf
Ich habe in grep
und geschaut sed
. Ich würde eine Antwort begrüßen, die einen dieser Befehle enthält.
command-line
scripting
grep
sed
Müllabfuhr
quelle
quelle
sed 's/;.*//'
Eine andere Option ist die Verwendung des
cut
Befehlsquelle
Ich benutze normalerweise
awk
für solche Dinge:cat a.file | awk -F=";" '{ print $1 }'
Das wird jede Zeile einer Datei nehmen und die erste Gruppe vor dem Begrenzer drucken
-F
quelle
cat
.Hier ist eine Möglichkeit, dies mit GNU zu tun
grep
:quelle
grep -Eo '^[^;]+;' filename
wird es fast geschafft, es wird nur ein Zeichen zuviel gedruckt.grep -Eo '^[^;]+' filename
fast wird es auch, aber es wird auch komplette (nicht leere) Zeilen drucken, die keine haben;
.