cómo bucle de archivos en la carpeta y cambiar el nombre de la extensión en SFTP

cómo bucle de archivos en la carpeta y cambiar el nombre de la extensión en SFTP

¿Alguien podría mostrarme cómo cambiar el nombre de todas las extensiones de archivos dentro de la carpeta en SFTP?

Por ejemplo, tengo la carpeta "Prueba" en sftp y dentro de esta carpeta tengo algunos archivos, como, test1.tmp..... test2.tmpy quiero cambiar el nombre de todos los archivos que tienen la extensión 'tmp' a .csv. entonces el resultado después de cambiar el nombre debería ser así. test1.csv, test2.csv...... Pero en sftp no todos los comandos bash se pueden ejecutar.

Ya lo intenté así

find . -name "*.tmp" -exec rename 's/\.tmp$/.csv/' '{}' \;

pero dice Comando no válido, parece que el comando no funciona en sftp.

Respuesta1

Hay unrename Comando SFTPtambién. Si estás usando Windows y WinSCP, entonces tienes la suerte de usar comodines y simplemente ejecutar 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>

En Linux, es probable que necesite crear un script para esto, ya que la implementación de Openssh o Putty no admite comodines.

información relacionada