繁体   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