Sie können die Textersetzungsfunktionen Ihrer Shell verwenden. In bash
könnten Sie ein Biest wie:
mv blob/a_long_directory_name/c/xx !#:$:gs^c/xx^evenmore/yy
Um es aufzuschlüsseln:
!#
ist die aktuell eingegebene Zeile
:$
fordert Sie auf, das letzte Wort der betreffenden Zeichenfolge ( in diesem Fall) n
auszuwählen (durch eine Zahl zu ersetzen, um das letzte Wort auszuwählen ). Das letzte Wort der bisher eingegebenen Zeile wäre das vorherige Wort.n
!#
:gs^xx^yy
Führt eine globale ( g
) Textsubstitution ( s
) für das resultierende Wort durch und ersetzt 'xx' durch 'yy'. ^
ist nur ein Begrenzer für den s
Befehl, der die Verwendung /
in Ihren Mustern zulässt .
Diese Methode ist etwas allgemeiner, da Sie einen beliebigen Teil des Pfads ('xx') durch ein beliebiges anderes Wort ('yy') ersetzen können.
Wie bei jeder Manipulation des Verlaufs empfiehlt es sich, entsprechende Shell-Optionen festzulegen (z ~/.bashrc
. B. in ). In diesem Fall
shopt -s histverify
zeigt die bearbeitete Zeile an, nachdem Sie die Eingabetaste gedrückt haben, sodass Sie sie weiterhin bearbeiten und auf Fehler überprüfen können.
Warum Sie ein solches Konstrukt verwenden, ist mir nicht sicher, aber in diesem Fall funktioniert es.
even_more
relativen Pfad ...