我有一个bash脚本,我正在尝试放在一起,找到文件夹中的所有图像,然后将这些文件的名称放入预先格式化的CSV中。我实际上已经找到了更复杂的部分并且运行良好......我陷入了一个非常基本的部分。我有一个变量,我需要为每个找到的文件增加,简单就够了吗?我已经尝试了很多不同的东西,并且不能为我的生活让它增加。这是我正在使用的脚本:
已编辑以显示较少的上下文
i=0
find "$(pwd)" -maxdepth 1 -type f -exec file {} \; | awk -F: '{if ($2 ~/image/) print $1}' | grep -o -E '[^/]*$' | sed -e "s/^/$((++i))/" > "$(pwd)/inventory-$(date +%Y%m%d)-$(date +%I%M).csv"
我尝试使用i++
,i=+1
,i=i+1
递增它,并在i变量的不同迭代之前放置美元符号......似乎没有任何实际增量变量。我最好的猜测是,这不是一个真正的循环,所以它不保存变量的变化?任何指导将不胜感激!
答案 0 :(得分:0)
$((++i))
由您的shell执行。但shell只执行一次此行。这条线不能满足你的需要。
我会在awk
内增加,与文件名一起打印,然后在其他命令中组合输出。