특정 패턴에 도달할 때까지 파일 이름에서 선행 문자를 제거합니다.

특정 패턴에 도달할 때까지 파일 이름에서 선행 문자를 제거합니다.

다음과 같은 파일이 있다고 가정해 보겠습니다. 93162-117352 - May 24, 2017 345 PM_16_163_student.csv

이름을 다음으로 바꾸고 싶습니다. 16_163_student.csv

이름을 바꾸면 어떻게 할 수 있나요?

답변1

파일 이름의 첫 번째 항목까지 제거하려고 합니다 _. 이는 "그러나 더 쉬움"에서 요청한 것과 유사합니다.파일 이름을 지속적으로 변경"

내 솔루션은 다음과 같습니다( POSIX shell 과 같다고 가정 bash).

for name in *.csv; do
    mv -i -- "$name" "${name#*_}"
done

${name#*_}이렇게 하면 이름에서 이름을 포함한 모든 내용이 제거됩니다 ._

이는 처리하려는 파일이 모두 패턴과 일치한다고 가정합니다 *.csv.

-i파일이 손실될 경우(예를 들어 a A_x.csvB_x.csv.

관련 정보