como fazer loop de arquivos na pasta e renomear extensão em sftp

como fazer loop de arquivos na pasta e renomear extensão em sftp

Alguém poderia me mostrar como renomear todas as extensões de arquivos dentro da pasta no sftp?

Exemplo, tenho a pasta "Test" no sftp e dentro desta pasta tenho poucos arquivos, como, test1.tmp, test2.tmp..... e quero renomear todos os arquivos que possuem extensão 'tmp' para .csv. então o resultado após renomear deve ser assim. test1.csv, test2.csv...... Mas no sftp nem todos os comandos bash podem ser executados.

eu já tentei assim

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

mas diz Comando inválido, o comando parece não funcionar no sftp.

Responder1

Existe umrename Comando SFTPtambém. Se você estiver usando o Windows e o WinSCP, terá a sorte de usar curingas e simplesmente executar o arquivo 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>

No Linux, você provavelmente precisará criar um script para isso, pois a implementação do Openssh ou do Putty não oferece suporte a curingas.

informação relacionada