아래 코드는 빈 PDF 이미지 테두리를 자릅니다. 아래 예제의 출력 파일에는 확장명 ".pdf" 앞에 "_cropped"가 포함되어 있습니다. 문자열을 인덱싱하는 것은 꼬리를 제거하는 데 좋은 해결책이 될 수 있습니다.이것URL은 색인에 대한 설명을 제공합니다. 해당 파일 이름을 변수에 할당하고 전달하는 방법을 모르겠습니다 <old-name> <new-name>
. 도움을 주시면 감사하겠습니다. :)
for f in *; do
pdf-crop-margins -v -p 0 -a -6 "$(basename $f .pdf).pdf";
done
답변1
Bash에서의 교체는 매우 효율적입니다.
v="file_cropped.pdf"
# file_cropped.pdf
echo ${v%_cropp*}.pdf
# file.pdf
답변2
입출력 $f
: .example_cropped.pdf
example.pdf
옵션 1,
basename
접근 방식:echo $(basename "$f" _cropped.pdf).pdf
옵션 2,
sed
sed 's/_cropped//' <<< "$f"
옵션 3,
rename
- 문자열 대신 파일에 적용됩니다.-n
시험 실행을 위해 파일 이름이 직접 변경됩니다 .rename 's/_cropped//' "$f"
rename
또한 한 번에 여러 파일에 적용할 수도 있습니다. 어쩌면 이것이 정말로 필요한 것일 수도 있습니다.