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_1
등 output_2
이 생성됩니다 .
접미사 길이를 단일 문자로 제한하므로 -a 1
9개 이상의 파일로 분할할 수 없습니다. eg를 사용하면 -a 2
etc 까지 의 이름을 가진 output_01
파일이 생성되지만 는 생성되지 않습니다 .output_02
output_99
output_100
이 --numeric-suffixes=1
옵션은 GNU split
에만 적용되며 주어진 숫자부터 시작하는 숫자 접미사를 선택합니다( 를 사용하는 것처럼 0부터 시작하는 대신 -d
). 일반적으로 split
파일은 문자 접미사로 생성됩니다.