FILE
::
hello
world
foo
bar
Wie kann ich alle leeren neuen Zeilen darin entfernen FILE
?
Befehlsausgabe:
FILE
::
hello
world
foo
bar
linux
grep
text-processing
user191960
quelle
quelle
Antworten:
grep . FILE
(Und wenn Sie es wirklich in sed machen wollen, dann:
sed -e /^$/d FILE
)(Und wenn Sie es wirklich in awk tun wollen, dann:
awk /./ FILE
)quelle
sed -ne/./p
funktioniert auch undawk /./
ist kürzer (Aktion ist,{print}
wenn nicht angegeben). @ Ghostdog74:grep '[^[:space:]]'
dann..
ist der ein regulärer Ausdruck, der mit jedem Zeichen außer Newline übereinstimmt.grep . FILE
funktioniert mit dem angegebenen Beispiel, aber nicht unbedingt, wenn die Datei Bytes enthalten kann, die nicht Teil des Zeichensatzes sind. Zum Beispiel gibt mit GNU grep 2.20printf "\x80\n" | grep .
nichts aus.Versuche Folgendes:
quelle
grep -v -e '^$'
funktioniert immer, was bei nicht der Fall istgrep .
. Beispielsweise gibt mit GNU grep 2.20printf "\x80\n" | grep .
nichts aus, währendprintf "\x80\n" | grep -v '^$'
die nicht leere Zeile ausgegeben wird.quelle
awk1line.txt
- aber auch die meistenHier ist eine Lösung, die alle Zeilen entfernt, die entweder leer sind oder nur Leerzeichen enthalten:
quelle
Versuche dies:
sed -i '/^[ \t]*$/d' file-name
Es werden alle Leerzeilen mit der Nr. Löscht. von Leerzeichen (Leerzeichen oder Tabulatoren), dh (0 oder mehr) in der Datei.
Hinweis: In der eckigen Klammer befindet sich ein Leerzeichen gefolgt von '\ t'.
Der Modifikator
-i
erzwingt das Zurückschreiben des aktualisierten Inhalts in die Datei. Ohne dieses Flag können Sie sehen, dass die leeren Zeilen auf dem Bildschirm gelöscht wurden, die eigentliche Datei jedoch nicht betroffen ist.quelle
grep '^..' my_file
Beispiel
Es werden nur Zeilen mit mindestens 2 Zeichen ausgegeben.
Siehe auch die Ergebnisse mit
grep '^' my_file
Ausgängenund auch mit
grep '^.' my_file
Ausgängenquelle
Wenn das Entfernen leerer Zeilen Zeilen mit Leerzeichen bedeutet, verwenden Sie:
Zum Beispiel:
Siehe auch:
sed
: Löschen Sie leere Zeilen mit sedawk
: Leerzeilen mit awk entfernenquelle
Versuchen Sie es ex -way:
Für mehrere Dateien (direkt bearbeiten):
Ohne die Datei zu ändern (einfach auf die Standardausgabe drucken):
quelle
Perl mag übertrieben sein, aber es funktioniert genauso gut.
Entfernt alle Zeilen, die vollständig leer sind:
Entfernt alle Zeilen, die vollständig leer sind oder nur Leerzeichen enthalten:
Variation, die das Original bearbeitet und eine .bak-Datei erstellt:
quelle
Wenn Sie wissen möchten, wie viele Codezeilen in Ihrem Xcode-Projekt insgesamt enthalten sind und Sie nicht daran interessiert sind, die Anzahl für jede schnelle Datei aufzulisten, erhalten Sie die Antwort. Es werden Zeilen ohne Code entfernt und Zeilen, denen der Kommentar vorangestellt ist
//
Führen Sie es auf der Stammebene Ihres Xcode-Projekts aus.
Wenn Sie Codeblöcke in Ihrem Code haben, die mit
/*
und enden mit*/
:dann werden diese in die Zählung einbezogen. (Zu schwer).
quelle
Einfachste Antwort -------------------------------------
quelle