脚本转到文件夹的每个子目录并运行命令

时间:2017-12-04 09:22:35

标签: linux bash shell loops subdirectory

我正在尝试编写执行以下步骤的脚本: 1.转到运行脚本时作为参数给出的目录中的每个文件夹。 2.在每个子目录中创建一个名为" Histogram"的文件夹。 3.使用Ending * .jpg读出每个文件 4.通过以下命令将图片转换为txt文件"转换XY -format%c histogram:info:XY.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文件的移动也不起作用。

1 个答案:

答案 0 :(得分:0)

创建一个脚本,该脚本获取绝对文件名列表并创建Histrogram文件夹(如果不存在)并创建txt文件

B::B(A)

在find命令

中调用此脚本
#!/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