[請益]批次檔如何對目錄底下的所有資料夾進行執行 [論壇 - 新手村]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



[請益]批次檔如何對目錄底下的所有資料夾進行執行
會員一級
註冊日期:
2013/10/21 16:01
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 49
MP : 6 / 1390
EXP: 97
離線
最近需要對影像的圖檔做轉換

可是小弟只會對單一個目錄去執行批次檔

請問各位要如何對目錄底下的資料夾一起執行

#!/bin/bash

filelist=(ls $dir)
for filelist in *.JPEG;do
filename=${filelist%.*}
convert "$filename.JPEG" "$filename.pgm"
done

原本是想在路徑ls $dir再加上 ./位置

可是這樣好想讀不進去

請問除了把執行檔丟到每個資料夾底下是否有更好的方法

謝謝各位指教

附件:



jpg  未命名.jpg (486.54 KB)
36684_543b7503178cf.jpg 1922X894 px

2014/10/13 14:50
應用擴展 工具箱
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行
會員四級
註冊日期:
2010/10/28 17:23
來自 台灣-台南市
所屬群組:
已註冊使用者
等級: 19
HP : 0 / 465
MP : 149 / 17141
EXP: 61
離線
如果是我,可能會寫成:
#!/bin/bash # Filename: filename.sh convert "$1" $(echo "$1" | sed "s/JPEG/pgm/g"); exit 0;

然後在目錄下以執行:
filename.sh */*.JPEG


沒測試過,不知可不可行?

PS: 資料夾&主檔名不能有JPEG,不然會GG。

2014/10/13 16:40
lubuntu 16.04.2 (AMD64)
ASUS K53BR筆電
RAM: 1.5GB
應用擴展 工具箱
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行
管理員
註冊日期:
2010/5/7 5:46
所屬群組:
已註冊使用者
討論區管理群
等級: 31
HP : 0 / 755
MP : 434 / 28897
EXP: 23
離線
find ./ -name "*.png" -exec mogrify -format pgm {} \;

一行,實測有成功(png轉pgm)

2014/10/13 17:13
應用擴展 工具箱
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行
會員一級
註冊日期:
2013/10/21 16:01
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 49
MP : 6 / 1390
EXP: 97
離線
nana前輩

轉完的檔案 我想對他做執行

他的指令是

./Test <a.pgm >b

那這樣我要怎麼去加指令

麻煩妳在指導我 謝謝

2014/10/13 21:44
應用擴展 工具箱
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行
管理員
註冊日期:
2010/5/7 5:46
所屬群組:
已註冊使用者
討論區管理群
等級: 31
HP : 0 / 755
MP : 434 / 28897
EXP: 23
離線
不太懂您的意思
./Test <a.pgm >b 是什麼作用
find ./ -name "*.png" -exec mogrify -format pgm {} \;;ls -Q */*.pgm >b

如果是這樣的話,是在轉檔成pgm之後把pgm(含資料夾)的清單(ls -Q)內容複製到b(文字檔)裡面
文字檔內容像這樣(Q有引號,q沒有引號)

"Ange/001.pgm"
"Ange/002.pgm"
"Ange/003.pgm"
"Ange/004.pgm"
"Ange/005.pgm"

2014/10/13 22:44
應用擴展 工具箱
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行
會員三級
註冊日期:
2009/8/27 21:33
所屬群組:
已註冊使用者
等級: 13
HP : 0 / 312
MP : 69 / 12566
EXP: 48
離線
小弟的結構化程式解法:
for file in $(find ./ -name "*.JPEG") ; do
  filename="${file%.*}"
  convert "$filename.JPEG" "$filename.pgm"
  ./Test <"$filename.pgm" > "$filename.tst"
done

2014/10/13 22:50
應用擴展 工具箱
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行
會員一級
註冊日期:
2013/10/21 16:01
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 49
MP : 6 / 1390
EXP: 97
離線
對的 就是自由車前輩所講得這樣

謝謝#nana #自由車 等人的協助

讓小弟上了一課

2014/10/13 23:00
應用擴展 工具箱
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行
會員一級
註冊日期:
2013/10/21 16:01
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 49
MP : 6 / 1390
EXP: 97
離線
可以再請教一個問題嗎

假如我目前的資料量很大

一般來說是不是無法直接在隨身硬碟上執行?

有其他方式嗎

2014/10/14 0:39
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.