Alles, was grep
tut, kann von innen gemacht werden sed
: siehe dieses Tutorial . In diesem Fall fügen Sie hinzu -e '/PATTERN/d'
, um die grep -v
Option zu reproduzieren :
ls | sed -E -e '/_init_/d' -e 's/^([a-zA-Z0-1]+)/import \1/' >> __init__.py
Sie können sie entfernen, ls
indem Sie stattdessen Folgendes verwenden:
for f in *; do echo "$f"; done | sed -E -e '/_init_/s' -e 's/^([a-zA-Z0-1]+)/import \1/' >> __init__.py
Dadurch entfällt die Verwendung eines externen Programms und die Verarbeitung zusätzlicher Informationen oder Flags, die durch ls
Standardwerte hinzugefügt werden können .
Es gibt mehrere Möglichkeiten, die Dateien in umgekehrter Reihenfolge hinzuzufügen:
- Wenn Sie verwenden
ls
,ls -r
werden die Dateien in umgekehrter Reihenfolge ausgegeben. - Wenn Sie verwenden
for f in *; ...
, leiten Sie die Ausgabe durchsort -r
. - Sie können die
tac
Zeilenreihenfolge in der Ausgabe anschließend umkehren. - Die umständliche Methode besteht darin, jede Datei in einer einzeiligen Datei auszugeben, die aktuelle Ausgabeliste anzufügen und diese dann zu verschieben, um die laufende Ausgabeliste zu überschreiben.