![특정 패턴에 도달할 때까지 파일 이름에서 선행 문자를 제거합니다.](https://linux55.com/image/112239/%ED%8A%B9%EC%A0%95%20%ED%8C%A8%ED%84%B4%EC%97%90%20%EB%8F%84%EB%8B%AC%ED%95%A0%20%EB%95%8C%EA%B9%8C%EC%A7%80%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%EC%97%90%EC%84%9C%20%EC%84%A0%ED%96%89%20%EB%AC%B8%EC%9E%90%EB%A5%BC%20%EC%A0%9C%EA%B1%B0%ED%95%A9%EB%8B%88%EB%8B%A4..png)
다음과 같은 파일이 있다고 가정해 보겠습니다.
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.csv
와 B_x.csv
.