簡體   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