Unix - 디렉터리의 파일 이름을 동일한 디렉터리에 있는 파일의 특정 고유 접두사로 바꿉니다.

Unix - 디렉터리의 파일 이름을 동일한 디렉터리에 있는 파일의 특정 고유 접두사로 바꿉니다.

내 디렉터리에는 다음과 같은 동일한 접미사와 고유한 영숫자 접두사가 있는 수백 개의 파일이 있습니다.

ABC01234.sorted_dup.bam

ABC04271.sorted_dup.bam

ABC09287.sorted_dup.bam

다음과 같이 각 원래 접두사에 특정한 새로운 고유 영숫자 접두사가 포함된 열이 있는 파일이 있습니다.

GBH03987 ABC01234

GBH05430 ABC04271

GBH07651 ABC09287

원래 접두사를 파일의 올바른 접두사로 바꾸고 싶습니다. 즉, 디렉터리에 있는 파일 이름의 접두사를 열 1의 접두사로 바꾸십시오. 생성된 파일 이름에는 다음과 같이 열 1을 기반으로 하는 접두사가 붙습니다.

GBH03987.sorted_dup.bam

GBH05430.sorted_dup.bam

GBH07651.sorted_dup.bam

UNIX를 처음 접하는 사람을 위한 가장 간단한 솔루션은 무엇입니까? awk 또는 sed 솔루션이 가장 좋을 것이며 크게 감사하겠습니다.

답변1

이 경우 간단한 쉘 루프로 충분합니다.

while read -r new old; do 
  [ -f "$old.sorted_dup.bam" ] && echo mv -- "$old.sorted_dup.bam" "$new.sorted_dup.bam"
done < filenames

filenames매핑이 포함된 파일의 이름은 어디에 있습니까? 테스트 후 삭제하세요 echo.

관련 정보