동일한 디렉토리에 있는 3개의 파일 이름을 바꾸고 싶다고 가정해 보겠습니다. 예: test1.gzip test2.gzip test3.gzip
이제 위의 모든 파일 이름을 다음으로 바꾸고 싶습니다.
테스트 1_20180518.gzip 테스트 2_20180518.gzip 테스트 3_20180518.gzip
지금 결과를 어떻게 얻을 수 있나요? 누군가 도와주세요! !
bash 스크립트에서 이 작업을 수행하는 방법을 알려주십시오.
답변1
"이름이 변경된" 버전을 확인하세요 rename -V
. 네가 본다면:
"
util-linux
" 그 다음에rename .gzip _$(date "+%Y%m%d").gzip *.gzip
"
File::Rename
" 그 다음에rename 'chomp(my $date = `date "+%Y%m%d"`); s/\.gzip/_$date.gzip/' *.gzip
답변2
가능한 해결 방법(루프 본문에서 하나를 선택해야 함):
#!/bin/bash
pattern="pattern"
i=0
for file in `find <your_path> -type f -name '*.zip'`
do
extension="${file##*.}"
filename="${file%.*}"
# without extenstion
mv "$file" "$filename-$pattern.$extension"
# whole filename
mv "$file" "$pattern-$i"
i=$((i + 1))
done