[英]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.