寫一隻sh轉換圖片 - Linux

Andy avatar
By Andy
at 2010-08-26T23:00

Table of Contents

因為mogrify好像沒有遞迴子資料夾的功能

所以我拿某人寫的sh改寫來用

有幾個問題想解決:

1、遇上檔名有空格的資料夾就會失效。

2、要怎寫才能增加轉換的格式? (例如:png、bmp、gif > jpg )

3、遇上格式大小寫也會失效? (png?PNG?)



#!/bin/bash
function START()
{
for fileName in `ls -F | grep '.JPG'` #找尋資料夾內所有的PNG圖檔
do
echo ' Converting: "'$fileName'"...'; #輸出轉換中訊息
mogrify -resize 1280X1024 "${fileName%.JPG}.jpg"; #轉換指令
done;

for folderName in `ls -F | grep '/'` #深入子目錄
do
folderName=${folderName%/*}; #稍微修正目錄表示方式,顯示比較美觀
echo ' Into: "'$folderName'".'; #輸出訊息
cd "$folderName"; #移動至該目錄
START; #遞迴呼叫
cd ..; #子目錄完畢後回原目錄
done;
}
read -p 'Please pick a DIR:' dir; #輸入要進行作業的資料夾名稱
cd "$dir"; #切換到下層目錄
echo 'Here we go!'; #程序開始訊息
START; #執行遞迴函數
echo 'Done!'; #完成訊息

--
:「我叔叔以前有兼差做消波塊 <( ̄︶ ̄)> <( ̄︶ ̄)>
小時候我都稱那個做 "肉粽" ( ′-`)y-~ 」
鄉民a:「驚!」
鄉民b:「這個不能惹!」
鄉民c:「靠!比mini158還猛!」
摘錄自《 -快樂的童年》ψ http://ncd-nocando.blogspot.com

--
Tags: Linux

All Comments

Suhail Hany avatar
By Suhail Hany
at 2010-08-29T16:15
1.可以先把檔名做轉換,最後在轉回去。
Mason avatar
By Mason
at 2010-09-02T12:14
3.副檔名大小寫一律轉小寫,對檔案也沒影響
John avatar
By John
at 2010-09-06T12:02
改IFS ?
Jack avatar
By Jack
at 2010-09-10T04:36
mogrify不是可以一次轉很多檔案嘛,你這樣好像一次轉一個?

UNIX的hostname到底有什麼用途?

Sarah avatar
By Sarah
at 2010-08-26T21:44
UNIX的hostname到底有什麼用途? 如題 不若win 的電腦名稱一樣重要呢! 還是到底有什麼意義與用途呢 請指教,謝謝 -- ╭ 這篇文章讓你覺得?═════════════════════════╮ ║ by ycat ...

terminal mode切換

Delia avatar
By Delia
at 2010-08-26T16:37
我目前的mode 為 bash 該如何切換到shell mode呢 使用的OS是 centos 4.7 煩請幫解答 感謝.. - ...

新手ubuntu開機上網

Ivy avatar
By Ivy
at 2010-08-26T15:14
ubuntu每次重新開機都不能上網 所以每次都要下sudo dhclient eth0 之後才可以連上網路 有人能告訴我一下原因嗎?我不是用固定ip 順便問一下可不可以設定就自動連上網路呢? - ...

抓取webcam

Xanthe avatar
By Xanthe
at 2010-08-26T13:10
我是用wubi安裝ubuntu10.04 攝影機裝置如下(by lsusb) ID 102c:6251 Etoms Electronics Corp. Q-Cam VGA 我嘗試使用去安裝gspca 不過使用apt-get install gspca-source(找不到套件) 或是去下載gspcav ...

Ubuntu10.4 筆電外接螢幕問題

Cara avatar
By Cara
at 2010-08-25T22:40
我的筆電是 Fujitsu MH330, http://www.fujitsu.com/tw/services/computer/notebooks/LMseries/mh330/ OS 是 Ubuntu 10.4,能更新的全都更新了,驅動也都正確, 筆電端螢幕是 1024x600,外接螢幕可以辨認到型 ...