다음과 같은 파일이 여러 개 있습니다.
sub_TK273759_R1.fastq
sub_TK273759_R2.fastq
sub_TK273763_R1.fastq
sub_TK273763_R2.fastq
sub_TK273766_R1.fastq
sub_TK273766_R1.fastq
다음과 같이 모든 파일의 이름을 바꾸는 방법:
TK273759_R1.fastq
TK273759_R2.fastq
TK273763_R1.fastq
TK273763_R2.fastq
TK273766_R1.fastq
TK273766_R2.fastq
답변1
두 가지 버전이 있습니다 rename
. 사용 중인 버전에 따라 다음 중 하나가 적합합니다.
rename sub_ '' sub_* # rename -V -> "rename from util-linux 2.33.1"
rename 's/^sub_//' sub_* # rename -V -> "Unknown option: V"
대상 파일 이름이 이미 존재하는 경우 이 두 가지는 반대합니다.
또는 루프를 사용할 수도 있지만 훨씬 덜 효율적입니다.
for f in sub_*
do
mv "$f" "${f#sub_}"
done
대상 파일 이름이 이미 존재하는 경우 자동으로 덮어씁니다.