Es gibt viele Möglichkeiten, diese Katze zu häuten!
Um eine bestimmte Zeichenfolge zu ersetzen, ^old^new^extraübernehmen Sie Ihren vorherigen Befehl, ersetzen Sie oldmit newund hängen Sie ihn an extra. Sie können so früh aufhören, wie Sie möchten; zB ^oldwird durch olddie leere Zeichenkette ersetzt und die leere Zeichenkette angehängt (im Wesentlichen löschen oldund nichts mehr tun).
1. ^diff^checkout
2. ^cat^rm
Besonders nützliche Variante davon:
for i in `seq 1 10`; do echo something complicated; done
# inspect the output to see if it looks right
^echo
Um ein bestimmtes Wort zu ersetzen, können Sie !m:n-pauf Wörter ndurch pden Befehl verweisen m(verwenden Sie negative Zahlen, um vom aktuellen Befehl zurück zu zählen). Sie können den -pTeil weglassen , um auf ein einzelnes Wort zu verweisen, und den :m-pTeil weglassen , um auf einen gesamten Befehl zu verweisen. Sonderformen !!für !-1, !$für das letzte Wort des vorherigen Befehls und !*für die Argumente (außer Wort 0) des vorherigen Befehls sind sehr praktisch.
1. !!:0 checkout !!:2-
2. rm !*
Ich benutze oft beide; zsh ist hier besonders schön, da das Drücken der Tabulatortaste das kryptische Material erweitert, um sicherzustellen, dass Sie es richtig verstanden haben.
Es gibt auch so viele Möglichkeiten, dies mit der Zeilenbearbeitung zu tun. Lesen Sie die Tastenkombinationen Ihrer Shell.