grep 검색 표현식 및 파일 이름 바꾸기

grep 검색 표현식 및 파일 이름 바꾸기

읽을 수 있는 PDF 파일이 있는데, 모두 문자열 VAX과 8개의 숫자가 포함되어 있습니다(예 VAX00002885: .

이제 해당 표현식을 찾아 해당 PDF의 이름을 바꾸고 싶습니다 VAX00002885.pdf(이 경우).

어떻게 해야 하나요?

답변1

이것을 시도해 보십시오(GNU grep을 가정):

for pdf in *pdf; do
    mv "$pdf" "$(grep -aE 'VAX[0-9]*' "$pdf" | sed 's/.*\(VAX[0-9]*\).*/\1/)"
done

이는 하나만 있다고 가정합니다 VAXNNNNNNN. 더 있을 수 있는 경우 첫 번째 일치 항목만 사용합니다.

for pdf in *pdf; do
    mv "$pdf" "$(grep -m 1 -aE 'VAX[0-9]*' "$pdf" | sed 's/.*\(VAX[0-9]*\).*/\1/)"
done

관련 정보