Bash
將pdf轉換為jpg保持相同的名稱;調整大小並創建拇指然後重命名?
我有很多
1)我必須全部轉換為
jpg
我用 ImageMagick 在網上找到了這個小腳本:將 pdf 批量轉換為 jpg
我想這樣做,但我的文件名稱與以前相同:
foo.pdf
=>foo.jpg
另外我希望所有圖像都保存在“場景”中的文件夾中2)然後我必須調整到 612x792
3)然後我必須創建 255x330 的縮略圖
4)最後我必須重命名它們。確實,我有一個
csv
文件,其中有他們的名字和新名字這是一些行的範例。
每一行對應“實際名稱”文件“逗號”“新名稱”。共有 3308 行,每個文件一個
current_name,new_name foo,bar PS130_1060,55-large
如您所見,副檔名未顯示,因為這兩個文件已
jpg
格式化。我完全迷失了,我不知道是否使用 4 個腳本或者是否可以在一個腳本中使用。我經常在 PHP 中工作,但我想做一些 bash 來改變,但這對我來說有點熱。
你能幫助我嗎?
你可以這樣開始:
for i in "$@"; do dst="${i%pdf}jpg" convert "$i" -resize 612x792 "$dst" convert "$i" -resize 255x330 "${i%.pdf}_thump.jpg" done
並稱它為
$ bash my_script.sh *.pdf
對於重命名,您可以使用另一個腳本。我不明白您的範例 .csv 文件。是否包含 3 個文件的 3 行?好的,就是這樣。
您可以使用以下命令行重命名文件:
$ awk -F, '{ system("echo mv \"" $1 "\" \"" $2 "\"") }' myrename.csv
awk
echo ...
對每一行執行命令,$1
是一行的第一個欄位的$2
值,是第二個欄位的值。\"
如果文件名包含空格,則需要引用。-F,
告訴awk
使用逗號作為欄位分隔符。如果你已經測試過這個命令,你可以刪除
echo
對文件進行真正的重命名。您可以添加-n
以mv
避免意外覆蓋現有文件。