분할로 생성된 파일 이름 바꾸기

분할로 생성된 파일 이름 바꾸기

split호출의 출력 파일이 있습니다 .

shivi11aa
shivi11ab

(등.)

기존 파일의 이름을 어떻게 바꾸나요?

output_1
output_2

(등.)

1000개의 파일이 있다면 마지막 파일은 output_1000.

답변1

n=0
for filename in shivi11*; do
    n=$(( n + 1 ))
    mv -i "$filename" "output_$n"
done

...여기서 shivi11*패턴은 이름을 바꾸려는 모든 파일과 일치해야 합니다(다른 파일은 제외).

데이터를 백업하고 테스트해보세요.


답변원래 질문(편집 전):

"분할"이 유틸리티를 의미하는 경우 split다음과 같이 유틸리티를 호출하여 원하는 것을 얻을 수 있습니다(이는 GNU를 가정 하고 파일을 20KB 비트로 split분할하려고 함 ).file

split -b 20k -a 1 --numeric-suffixes=1 file output_

output_1output_2이 생성됩니다 .

접미사 길이를 단일 문자로 제한하므로 -a 19개 이상의 파일로 분할할 수 없습니다. eg를 사용하면 -a 2etc 까지 의 이름을 가진 output_01파일이 생성되지만 는 생성되지 않습니다 .output_02output_99output_100

--numeric-suffixes=1옵션은 GNU split에만 적용되며 주어진 숫자부터 시작하는 숫자 접미사를 선택합니다( 를 사용하는 것처럼 0부터 시작하는 대신 -d). 일반적으로 split파일은 문자 접미사로 생성됩니다.

관련 정보