마지막 밑줄 뒤의 문자열을 제거한 후 sed 명령을 사용하여 여러 파일의 이름을 바꿉니다.

Vinay

아래와 같이 디렉토리에 파일 세트가 있으며 마지막 밑줄이 발생한 후 문자열을 제거하고 싶습니다. 매번 끈이 다른 경우가 있습니다. 으로 할 수 있다면 좋을 것입니다 sed.

입력 파일 :

com_101_00000_0001_a234.txt
com_101_retail_00000_0002_g345.ctl
com_101_lines_003_0002_1134.txt

결과 파일 이름 :

com_101_00000_0001.txt
com_101_retail_00000_0002.ctl
com_101_lines_00003_0002.txt
멘돈

시스템에 perl rename이 있으면 다음을 수행 할 수 있습니다.

rename -n 's/_[^_]+?\././' *

파일이 같은 이름으로 끝날 수있는 경우 덮어 쓰지 않으려면 -i다음을 사용하십시오 .

rename -in 's/_[^_]+?\././' *

예상대로 작동하는 경우 -n실제로 파일 이름을 바꾸려면를 제거하십시오 .

만약 당신이 정말로 sed이것 에 구두 주걱 고집한다면 , 다음과 같이 불필요하게 복잡한 일을 할 수 있습니다 :

for f in *_*.*; do
    new=$(printf "%s\n" "$f" | sed 's/\(.*\)_[^_]*\(\.[^_]*\)$/\1\2/')
    echo mv "$f" "$new"
done

또는,없는 sed경우 :

for f in *_*.*; do echo mv "$f" "${f%_*}.${f##*.}" ; done

마지막 두 예 모두 예상대로 작동하는 경우를 제거하여 echo실제로 파일 이름을 바꿉니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

rename 명령을 사용하여 마침표와 밑줄로 구분 된 유사한 문자열로 여러 파일의 이름을 바꾸는 방법

분류에서Dev

Unix 명령을 사용하여 마지막 밑줄 뒤와 파일 확장자 앞의 문자열 제거를 위해 파일 내용을 편집하려는 경우

분류에서Dev

Mac의 sed 명령을 사용하여 일치 후 여러 줄 삽입

분류에서Dev

Mac의 sed 명령을 사용하여 일치 후 여러 줄 삽입

분류에서Dev

sed를 사용하여 csv 파일의 첫 줄과 마지막 줄을 모두 제거하는 방법

분류에서Dev

Sed-파일의 마지막 두 번째 줄에있는 모든 문자열을 바꿉니다.

분류에서Dev

Bash 스크립트 : sed의 변수를 사용하여 파일의 마지막 "x"줄을 제외한 모든 줄을 삭제합니다.

분류에서Dev

헤드를 사용하여 파일의 마지막 줄을 제거하는 데 문제가 있습니다.

분류에서Dev

sed를 사용하여 연속 된 여러 줄을 한 줄로 바꿉니다.

분류에서Dev

쉘 스크립트를 사용하여 문자열의 한 부분이 일치하면 줄을 바꿉니다.

분류에서Dev

sed 또는 awk를 사용하여 문자열을 밑줄 및 점으로 바꿉니다.

분류에서Dev

마지막 3자를 생략하여 디렉토리의 모든 파일 이름을 바꿉니다.

분류에서Dev

sed / awk / etc를 사용하여 한 텍스트 파일의 홀수 줄을 다른 텍스트 파일의 해당 홀수 줄로 바꿉니다.

분류에서Dev

파일 이름의 특수 문자 이름을 밑줄로 바꿉니다.

분류에서Dev

명령 줄을 사용하여 여러 파일의 이름을 쉽게 바꾸려면 어떻게합니까?

분류에서Dev

명령 줄을 사용하여 여러 파일의 이름을 쉽게 바꾸려면 어떻게합니까?

분류에서Dev

쉘 명령을 사용하여 밑줄로 파일 이름 묶음의 % 인코딩 문자를 바꾸는 방법은 무엇입니까?

분류에서Dev

일치하는 하위 문자열의 공백을 밑줄로 바꿉니다.

분류에서Dev

groovy에서 sed를 사용하여 json 파일의 값을 바꿉니다.

분류에서Dev

sed를 사용하여 새 줄을 문자로 바꿉니다.

분류에서Dev

perl을 사용하여 파일의 일부 문자열을 복잡한 암호로 바꿉니다.

분류에서Dev

마지막 점 뒤의 문자열을 txt 문자열로 바꿉니다.

분류에서Dev

$ 1을 sed로 확인하여 경로 문자열에서 단어의 마지막 항목을 조건부로 바꿉니다.

분류에서Dev

파이썬 데이터 프레임에서 마지막 밑줄 뒤의 문자열을 어떻게 제거 할 수 있습니까?

분류에서Dev

sed / awk를 사용하여 구분 된 텍스트 열의 마지막 부분을 제거합니다.

분류에서Dev

마지막 밑줄 뒤 Excel에서 문자열의 마지막 부분을 추출하는 방법

분류에서Dev

Windows 명령 줄에서 findstr을 사용하여 문자열의 마지막 항목 찾기

분류에서Dev

sed 명령을 사용하여 bash 스크립트의 파일에서 줄 제거

분류에서Dev

한 문자열이 특정 파일의 마지막 줄의 시작 부분에서 일치하면 같은 줄의 다른 문자열을 정규식 그룹을 사용하여 바꾸십시오.

Related 관련 기사

  1. 1

    rename 명령을 사용하여 마침표와 밑줄로 구분 된 유사한 문자열로 여러 파일의 이름을 바꾸는 방법

  2. 2

    Unix 명령을 사용하여 마지막 밑줄 뒤와 파일 확장자 앞의 문자열 제거를 위해 파일 내용을 편집하려는 경우

  3. 3

    Mac의 sed 명령을 사용하여 일치 후 여러 줄 삽입

  4. 4

    Mac의 sed 명령을 사용하여 일치 후 여러 줄 삽입

  5. 5

    sed를 사용하여 csv 파일의 첫 줄과 마지막 줄을 모두 제거하는 방법

  6. 6

    Sed-파일의 마지막 두 번째 줄에있는 모든 문자열을 바꿉니다.

  7. 7

    Bash 스크립트 : sed의 변수를 사용하여 파일의 마지막 "x"줄을 제외한 모든 줄을 삭제합니다.

  8. 8

    헤드를 사용하여 파일의 마지막 줄을 제거하는 데 문제가 있습니다.

  9. 9

    sed를 사용하여 연속 된 여러 줄을 한 줄로 바꿉니다.

  10. 10

    쉘 스크립트를 사용하여 문자열의 한 부분이 일치하면 줄을 바꿉니다.

  11. 11

    sed 또는 awk를 사용하여 문자열을 밑줄 및 점으로 바꿉니다.

  12. 12

    마지막 3자를 생략하여 디렉토리의 모든 파일 이름을 바꿉니다.

  13. 13

    sed / awk / etc를 사용하여 한 텍스트 파일의 홀수 줄을 다른 텍스트 파일의 해당 홀수 줄로 바꿉니다.

  14. 14

    파일 이름의 특수 문자 이름을 밑줄로 바꿉니다.

  15. 15

    명령 줄을 사용하여 여러 파일의 이름을 쉽게 바꾸려면 어떻게합니까?

  16. 16

    명령 줄을 사용하여 여러 파일의 이름을 쉽게 바꾸려면 어떻게합니까?

  17. 17

    쉘 명령을 사용하여 밑줄로 파일 이름 묶음의 % 인코딩 문자를 바꾸는 방법은 무엇입니까?

  18. 18

    일치하는 하위 문자열의 공백을 밑줄로 바꿉니다.

  19. 19

    groovy에서 sed를 사용하여 json 파일의 값을 바꿉니다.

  20. 20

    sed를 사용하여 새 줄을 문자로 바꿉니다.

  21. 21

    perl을 사용하여 파일의 일부 문자열을 복잡한 암호로 바꿉니다.

  22. 22

    마지막 점 뒤의 문자열을 txt 문자열로 바꿉니다.

  23. 23

    $ 1을 sed로 확인하여 경로 문자열에서 단어의 마지막 항목을 조건부로 바꿉니다.

  24. 24

    파이썬 데이터 프레임에서 마지막 밑줄 뒤의 문자열을 어떻게 제거 할 수 있습니까?

  25. 25

    sed / awk를 사용하여 구분 된 텍스트 열의 마지막 부분을 제거합니다.

  26. 26

    마지막 밑줄 뒤 Excel에서 문자열의 마지막 부분을 추출하는 방법

  27. 27

    Windows 명령 줄에서 findstr을 사용하여 문자열의 마지막 항목 찾기

  28. 28

    sed 명령을 사용하여 bash 스크립트의 파일에서 줄 제거

  29. 29

    한 문자열이 특정 파일의 마지막 줄의 시작 부분에서 일치하면 같은 줄의 다른 문자열을 정규식 그룹을 사용하여 바꾸십시오.

뜨겁다태그

보관