다른 파일의 내용과 정확히 일치하는 내용을 기준으로 파일 이름의 일부 이름 변경

user2250055

파일 이름의 한 부분 만 변경하고 다른 파일의 목록에서 정확히 일치하는 항목을 기반으로하여 여러 파일의 이름을 바꾸고 싶습니다. 예를 들어 다음과 같은 파일 이름이있는 경우 :

sample_ACGTA.txt
sample_ACGTA.fq.abc
sample_ACGT.txt
sample_TTTTTC.tsv
sample_ACCCGGG.fq
sample_ACCCGGG.txt
otherfile.txt

그리고 replacements.txt라는 다른 파일에서 찾을 수있는 이러한 정확한 일치를 기반으로하여 찾고 바꾸고 싶습니다.

ACGT    name1
TTTTTC  longername12
ACCCGGG nam7
ACGTA   another4

따라서 원하는 결과 파일 이름은

sample_another4.txt
sample_another4.fq.abc
sample_name1.txt
sample_longername12.tsv
sample_nam7.fq
sample_nam7.txt
otherfile.txt

내용을 변경하고 싶지 않습니다. 지금까지 나는 시도 sed하고 mv본 웹 사이트 내 검색 결과를 기반으로. sed내가 발견 내 목록을 사용하여 파일의 내용을 대체하는 방법 :

while read from to; do
  sed -i "s/$from/$to/" infile ;
done < replacements.txt, 

로와 mv내가 파일의 이름을 변경하는 방법을 발견 한 하나 개의 단순한 교체가있는 경우 :

for files in sample_*; do
  mv "$files" "${files/ACGTA/another4}"
done 

그러나 내가 원하는 것을하기 위해 어떻게 그들을 모을 수 있습니까?

도와 주셔서 감사합니다!

Qeole

forwhile루프를 완벽하게 결합하여 다음 을 사용할 수 있습니다 mv.

while read from to ; do
  for i in test* ; do
    if [ "$i" != "${i/$from/$to}" ] ; then
      mv $i ${i/$from/$to}
    fi
  done
done < replacements.txt

대체 솔루션은 대체 결과를 실행 sed하는 e명령을 사용하는 것으로 구성 될 수 있습니다 (주의하여 사용하십시오! e어떤 명령이 실행될 것인지 인쇄 하려면 먼저 종료하지 않고 시도하십시오 ).

그 후:

sed 's/\(\w\+\)\s\+\(\w\+\)/mv sample_\1\.txt sample_\2\.txt/e' replacements.txt

replacements.txt 파일을 구문 분석하고 원하는대로 모든 .txt 파일의 이름을 바꿉니다.

다른 확장을 처리하기 위해 루프를 추가하기 만하면됩니다.

for j in .txt .bak .tsv .fq .fq.abc ; do
  sed "s/\(\w\+\)\s\+\(\w\+\)/mv 'sample_\1$j' 'sample_\2$j'/e" replacements.txt
done

(예를 들어 실행을 시도 mv sample_ACGT.fq sample_name1.fq하지만 파일 sample_ACGT.fq이 존재하지 않는 경우와 같이 존재하지 않는 파일의 이름을 바꾸려고하면 오류 메시지가 표시됩니다. )

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다른 파일의 내용에 따라 파일 이름 변경

분류에서Dev

별도의 파일 내용과 일치하는 현재 파일 이름을 기반으로 파일 이름 변경

분류에서Dev

다른 파일의 내용에서 파일 이름 찾기

분류에서Dev

lastline 문자열과 일치하는 파일의 파일 경로와 파일 이름을 찾아야합니다.

분류에서Dev

한 파일 이름을 다른 파일 이름의 일부로 사용하는 배치 파일을 작성하는 방법

분류에서Dev

정확히 동일한 파일 경로이지만 다른 내용

분류에서Dev

R에있는 다른 csv 파일의 내용을 기반으로 csv 파일의 데이터 부분 설정

분류에서Dev

bash의 다른 파일과 일치하는 디렉토리의 특정 파일 확장자 이름 바꾸기

분류에서Dev

보내기 버튼을 누를 때 VBA를 사용하여 특정 첨부 파일의 이름 변경

분류에서Dev

다른 디렉토리의 파일 이름을 기반으로 디렉토리의 파일 이름 변경

분류에서Dev

특정 파일 이름을 일괄 적으로 찾은 다음 변수의 이름을 사용하십시오.

분류에서Dev

중복 파일 이름을 여러 폴더의 다른 이름으로 변경

분류에서Dev

파일 이름의 일부를 동일한 하위 문자열이있는 파일의 다른 내용으로 복사하려면 Sed

분류에서Dev

다른 확장자의 일치하는 파일 이름이없는 한 확장자의 파일 이름 찾기

분류에서Dev

.txt 파일을 한 열의 이름과 다른 열의 내용을 사용하는 별도의 파일로 분할 하시겠습니까?

분류에서Dev

파일 이름의 일부와 셀 내용의 일부를 기반으로 워크 시트 이름을 자동으로 바꿉니다.

분류에서Dev

파일 내부의 목록을 사용하여 파일 이름 찾기

분류에서Dev

한 파일의 CSV 헤더 이름을 사용하여 다른 헤더 이름으로 새 파일 만들기

분류에서Dev

fopen을 사용하여 현재 파일 이름을 다른 파일 이름으로 변경

분류에서Dev

다른 파일과 일치하는 이름을 기반으로 파일을 다른 디렉토리로 이동

분류에서Dev

다른 사람의 이름과 내용으로 새 텍스트 파일을 만듭니다.

분류에서Dev

다른 파일 형식으로 부분 파일 이름 변경

분류에서Dev

특정 기준에 따라 다른 파일의 일부 이름을 배열로 복사하고 싶습니다.

분류에서Dev

각 파일의 이름을 증가하는 정수로 변경

분류에서Dev

선택한 파일의 내용을 .txt로 병합 한 다음 txt의 이름을 변경하고 다른 폴더로 이동합니다.

분류에서Dev

파이썬을 사용하여 디렉토리 내의 파일 이름 변경

분류에서Dev

파일 이름에서 찾기 번호를 사용하여 많은 파일의 이름을 일괄 변경

분류에서Dev

호스트 파일을 사용하여 LAN 내의 다른 컴퓨터로 호스트 이름 지정

분류에서Dev

dir 함수는 ".docx"파일의 파일 경로 이름을 변경합니다.

Related 관련 기사

  1. 1

    다른 파일의 내용에 따라 파일 이름 변경

  2. 2

    별도의 파일 내용과 일치하는 현재 파일 이름을 기반으로 파일 이름 변경

  3. 3

    다른 파일의 내용에서 파일 이름 찾기

  4. 4

    lastline 문자열과 일치하는 파일의 파일 경로와 파일 이름을 찾아야합니다.

  5. 5

    한 파일 이름을 다른 파일 이름의 일부로 사용하는 배치 파일을 작성하는 방법

  6. 6

    정확히 동일한 파일 경로이지만 다른 내용

  7. 7

    R에있는 다른 csv 파일의 내용을 기반으로 csv 파일의 데이터 부분 설정

  8. 8

    bash의 다른 파일과 일치하는 디렉토리의 특정 파일 확장자 이름 바꾸기

  9. 9

    보내기 버튼을 누를 때 VBA를 사용하여 특정 첨부 파일의 이름 변경

  10. 10

    다른 디렉토리의 파일 이름을 기반으로 디렉토리의 파일 이름 변경

  11. 11

    특정 파일 이름을 일괄 적으로 찾은 다음 변수의 이름을 사용하십시오.

  12. 12

    중복 파일 이름을 여러 폴더의 다른 이름으로 변경

  13. 13

    파일 이름의 일부를 동일한 하위 문자열이있는 파일의 다른 내용으로 복사하려면 Sed

  14. 14

    다른 확장자의 일치하는 파일 이름이없는 한 확장자의 파일 이름 찾기

  15. 15

    .txt 파일을 한 열의 이름과 다른 열의 내용을 사용하는 별도의 파일로 분할 하시겠습니까?

  16. 16

    파일 이름의 일부와 셀 내용의 일부를 기반으로 워크 시트 이름을 자동으로 바꿉니다.

  17. 17

    파일 내부의 목록을 사용하여 파일 이름 찾기

  18. 18

    한 파일의 CSV 헤더 이름을 사용하여 다른 헤더 이름으로 새 파일 만들기

  19. 19

    fopen을 사용하여 현재 파일 이름을 다른 파일 이름으로 변경

  20. 20

    다른 파일과 일치하는 이름을 기반으로 파일을 다른 디렉토리로 이동

  21. 21

    다른 사람의 이름과 내용으로 새 텍스트 파일을 만듭니다.

  22. 22

    다른 파일 형식으로 부분 파일 이름 변경

  23. 23

    특정 기준에 따라 다른 파일의 일부 이름을 배열로 복사하고 싶습니다.

  24. 24

    각 파일의 이름을 증가하는 정수로 변경

  25. 25

    선택한 파일의 내용을 .txt로 병합 한 다음 txt의 이름을 변경하고 다른 폴더로 이동합니다.

  26. 26

    파이썬을 사용하여 디렉토리 내의 파일 이름 변경

  27. 27

    파일 이름에서 찾기 번호를 사용하여 많은 파일의 이름을 일괄 변경

  28. 28

    호스트 파일을 사용하여 LAN 내의 다른 컴퓨터로 호스트 이름 지정

  29. 29

    dir 함수는 ".docx"파일의 파일 경로 이름을 변경합니다.

뜨겁다태그

보관