다음과 같은 이름의 파일 세트가 있습니다.
_9978967868768763ghjgj7598983678hjva_week1-6.pdf
_78637832bdsjh275637bkkaww786b_week12-32.pdf
8786767867868978713bkwkhjhkjqw_week1-622.pdf
867813567bdjsbgbadsyu6712353125561235_week100-6.pdf
나는 이점을 활용하는 데 관심이 있습니다.rename
이름을 얻는 유틸리티:
week1-6.pdf
week12-32.pdf
week1-622.pdf
week100-6.pdf
이를 달성하기 위한 정규식은 다음과 같습니다.
(.*)(week.*)
좋은 결과(정규식 101):
질문
이 구문을 이름이 바뀐 형식 표현식으로 변환하는 방법:
s/expr1/expr2/[gi]
사실은 첫 번째 그룹을 삭제하고 싶어요.
노트
mv
나는 솔루션을 사용하거나 기반으로 하는 데 관심이 없습니다 sed
. rename
유틸리티를 사용하고 싶습니다 .
답변1
이것을 사용해 보세요.올바른 방법:) 명령을 수정했습니다(매우 가까웠어요...).
rename 's/(.*)(week.*)/$2/' *.pdf
또는 단순화하려면:
rename 's/.*(week.*)/$1/' *.pdf
답변2
prename
방법:
prename -n 's/.*_(week.*$)/$1/' *_week*.pdf
$1
- 첫 번째로 캡처된 그룹을 가리킵니다.