Kann mir jemand zeigen, wie ich alle Dateierweiterungen im Ordner in SFTP umbenennen kann?
Beispiel: Ich habe den Ordner „Test“ in SFTP und in diesem Ordner befinden sich einige Dateien wie test1.tmp
… test2.tmp
und ich möchte alle Dateien mit der Erweiterung „tmp“ in .csv umbenennen. Das Ergebnis nach der Umbenennung sollte also so aussehen: test1.csv
… test2.csv
Aber in SFTP können nicht alle Bash-Befehle ausgeführt werden.
Ich habe es schon so versucht
find . -name "*.tmp" -exec rename 's/\.tmp$/.csv/' '{}' \;
aber es heißt „Ungültiger Befehl“, anscheinend funktioniert der Befehl in SFTP nicht.
Antwort1
Da ist einrename
SFTP-Befehlauch. Wenn Sie Windows und WinSCP verwenden, haben Sie das Glück, Platzhalter zu verwenden und einfach auszuführen rename *.tmp *.csv
.
c:\WinSCP>WinSCP.com
winscp> open sftp://[email protected]:22/ -privatekey=bcs78.key.ppk
Searching for host...
Connecting to host...
Authenticating...
Using username "bcs78".
Authenticating with public key "bcs78@laptop".
Authenticated.
Starting the session...
Session started.
Active session: [1] [email protected]
winscp> ls
-rw-rw-r-- 1 bcs78 bcs78 2 Aug 30 12:23:34 2018 03.tmp
drwxr-xr-x 14 bcs78 bcs78 4096 Aug 30 12:21:49 2018 ..
-rw-rw-r-- 1 bcs78 bcs78 2 Aug 30 12:23:11 2018 01.tmp
drwxrwxr-x 2 bcs78 bcs78 4096 Aug 30 12:23:34 2018 .
-rw-rw-r-- 1 bcs78 bcs78 2 Aug 30 12:23:23 2018 02.tmp
winscp> rename *.tmp *.csv
03.tmp
01.tmp
02.tmp
winscp> ls
-rw-rw-r-- 1 bcs78 bcs78 2 Aug 30 12:23:23 2018 02.csv
drwxr-xr-x 14 bcs78 bcs78 4096 Aug 30 12:21:49 2018 ..
-rw-rw-r-- 1 bcs78 bcs78 2 Aug 30 12:23:34 2018 03.csv
drwxrwxr-x 2 bcs78 bcs78 4096 Aug 30 12:23:54 2018 .
-rw-rw-r-- 1 bcs78 bcs78 2 Aug 30 12:23:11 2018 01.csv
winscp>
Unter Linux müssen Sie dies wahrscheinlich per Skript ausführen, da die Openssh- oder Putty-Implementierung keine Platzhalter unterstützt.