繁体   English   中英

在Bash -sed命令中增加变量

[英]Incrementing variable in Bash -sed command

我有一个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=+1i=i+1递增它,以及在i变量的不同迭代之前放置美元符号......似乎没有任何实际增加变量。 我最好的猜测是,这不是一个真正的循环,所以它不保存变量的变化? 任何指导将不胜感激!

$((++i))由shell执行。 但shell只执行一次此行。 这条线无法满足您的需求。

我将在awk内部增加,将其与文件名一起打印,然后在其他命令中组合输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM