폴더의 파일을 반복하고 SFTP에서 확장자의 이름을 바꾸는 방법

폴더의 파일을 반복하고 SFTP에서 확장자의 이름을 바꾸는 방법

누군가 SFTP 폴더 안의 모든 파일 확장자의 이름을 바꾸는 방법을 보여줄 수 있습니까?

예를 들어, sftp에 "Test" 폴더가 있고 이 폴더 안에 , .....와 같은 파일이 거의 없으며 test1.tmp확장자 test2.tmp가 'tmp'인 모든 파일의 이름을 .csv로 바꾸고 싶습니다. 따라서 이름을 바꾼 후의 결과는 다음과 같아야 합니다. test1.csv, test2.csv...... 하지만 sftp에서는 모든 bash 명령을 실행할 수 있는 것은 아닙니다.

나는 이미 이렇게 시도했다

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

하지만 잘못된 명령이라고 나와 있습니다. sftp에서 명령이 작동하지 않는 것 같습니다.

답변1

이있다rename SFTP 명령도. Windows와 WinSCP를 사용하고 있다면 운이 좋게도 와일드카드를 사용하고 간단히 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>

Linux에서는 Openssh 또는 Putty 구현이 와일드카드를 지원하지 않으므로 이를 스크립팅해야 할 수 있습니다.

관련 정보