簡體   English   中英

腳本進入文件夾的每個子目錄並運行命令

[英]Script to go to every subdirectory of a folder and run command

我正在嘗試編寫一個執行以下步驟的腳本:1.轉到運行腳本時作為參數給出的目錄中的每個文件夾。 2.在每個名為“直方圖”的子目錄中創建一個文件夾。3.讀取帶有結尾* .jpg的每個文件。4.通過“轉換XY格式%c histogram:info:XY”命令將圖片轉換為txt文件。 txt 5.將txt文件移動到“直方圖”文件夾中。6.返回開始目錄並繼續下一個文件夾

這是我到目前為止所得到的:

pfad="${1:-.}"
cd "$pfad/"
mkdir Histogram
for i in 'ls -1 *.jpg'
do
cat $1 |
convert $i -format %c histogram:info:"Histogram_$1'.txt"|
mv "Histogram_$i'.txt" Histogram/

仍然缺少腳本執行每個子目錄的命令的方法,文件夾的創建以及文件夾中txt文件的移動也不起作用。

創建一個使用絕對文件名列表的腳本,如果不存在則創建Histrogram文件夾,並創建txt文件

#!/usr/bin/bash
for absfile in "$@"; do
    dir=${absfile%/*}/Histogram
    file=${absfile##*/}
    mkdir -p "$dir" || exit 1
    convert "$absfile" -format %c histogram:info:"$dir/Histogram_$file.txt" || exit 1
done

在find命令中調用此腳本

find root_path -name '*.jpg' -exec ./script.sh {} +

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM