在Bash-sed命令中递增变量

在Bash-sed命令中递增变量,bash,awk,sed,auto-increment,Bash,Awk,Sed,Auto Increment,我有一个bash脚本,我正试图把它放在一起,找到文件夹中的所有图像,然后将这些文件的名称放入预先格式化的CSV中。事实上,我已经解决了其中更复杂的部分,并且工作得很好。。。我被困在一个非常基本的部分。我有一个变量,我需要为找到的每个文件递增,足够简单吧?我尝试了很多不同的事情,但我一辈子都无法让它增加。以下是我正在使用的脚本: 编辑以显示较少的上下文 i=0 find "$(pwd)" -maxdepth 1 -type f -exec file {} \; | awk -F: '{if ($2

我有一个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变量的不同迭代之前加上美元符号。。。似乎没有任何东西实际增加变量。我最好的猜测是,这不是一个真正的循环,所以它不会保存对变量的更改?任何指导都将不胜感激

由shell执行
$(++i))
。但是shell只执行这一行一次。这条线不能满足你的需要

我将在内部
awk
中递增,将其与文件名一起打印,然后在进一步的命令中合并输出。

由shell执行
$(++I))
。但是shell只执行这一行一次。这条线不能满足你的需要


我会在内部
awk
中递增,将其与文件名一起打印,然后在进一步的命令中合并输出。

请将示例简化为只显示问题,而不显示其周围的所有上下文。对不起,我真的不太熟悉Bash,我不想删掉相关的部分,我想我现在已经把它缩减到你可以看到我正在努力解决的部分,而不需要太多的背景。请将你的例子缩减到最小,只显示问题,而不是周围的所有背景。对不起,我真的不太熟悉Bash,我不想删掉那些相关的部分,我想我现在已经把它删掉了,在这里你可以看到我正在努力处理的部分,而不需要删掉太多的内容。