[請益]批次檔如何對目錄底下的所有資料夾進行執行 [論壇 - 新手村]
正在瀏覽:
1 名遊客
[請益]批次檔如何對目錄底下的所有資料夾進行執行 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2013/10/21 16:01 所屬群組:
已註冊使用者 等級: 2
HP : 0 / 49
![]() |
最近需要對影像的圖檔做轉換
可是小弟只會對單一個目錄去執行批次檔 請問各位要如何對目錄底下的資料夾一起執行 #!/bin/bash filelist=(ls $dir) for filelist in *.JPEG;do filename=${filelist%.*} convert "$filename.JPEG" "$filename.pgm" done 原本是想在路徑ls $dir再加上 ./位置 可是這樣好想讀不進去 請問除了把執行檔丟到每個資料夾底下是否有更好的方法 謝謝各位指教
2014/10/13 14:50
|
||||||||||
![]() |
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員四級
![]() ![]() 註冊日期:
2010/10/28 17:23 來自 台灣-台南市
所屬群組:
已註冊使用者 等級: 19
HP : 0 / 465
![]() |
如果是我,可能會寫成:
#!/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
![]() |
find ./ -name "*.png" -exec mogrify -format pgm {} \; 一行,實測有成功(png轉pgm)
2014/10/13 17:13
|
||||||||||
![]() |
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2013/10/21 16:01 所屬群組:
已註冊使用者 等級: 2
HP : 0 / 49
![]() |
nana前輩
轉完的檔案 我想對他做執行 他的指令是 ./Test <a.pgm >b 那這樣我要怎麼去加指令 麻煩妳在指導我 謝謝
2014/10/13 21:44
|
||||||||||
![]() |
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
管理員
![]() ![]() 註冊日期:
2010/5/7 5:46 所屬群組:
已註冊使用者 討論區管理群 等級: 31
HP : 0 / 755
![]() |
不太懂您的意思
./Test <a.pgm >b 是什麼作用 find ./ -name "*.png" -exec mogrify -format pgm {} \;;ls -Q */*.pgm >b 如果是這樣的話,是在轉檔成pgm之後把pgm(含資料夾)的清單(ls -Q)內容複製到b(文字檔)裡面 文字檔內容像這樣(Q有引號,q沒有引號)
2014/10/13 22:44
|
||||||||||
![]() |
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2009/8/27 21:33 所屬群組:
已註冊使用者 等級: 13
HP : 0 / 312
![]() |
小弟的結構化程式解法:
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
![]() |
對的 就是自由車前輩所講得這樣
謝謝#nana #自由車 等人的協助 讓小弟上了一課
2014/10/13 23:00
|
||||||||||
![]() |
回覆: [請益]批次檔如何對目錄底下的所有資料夾進行執行 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2013/10/21 16:01 所屬群組:
已註冊使用者 等級: 2
HP : 0 / 49
![]() |
可以再請教一個問題嗎
假如我目前的資料量很大 一般來說是不是無法直接在隨身硬碟上執行? 有其他方式嗎
2014/10/14 0:39
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.