gpt4 book ai didi

linux - 将数字替换为 SED 中的顺序 ID

转载 作者:太空宇宙 更新时间:2023-11-04 04:51:59 25 4
gpt4 key购买 nike

我有大约 12k 个文件,其中包含如下字符串:

script_oid("1.3.6.1.4.1.25623.7.0.391810");

我需要将最后 6 位数字 (391810) 更改为从 300000 开始的连续 ID。到目前为止,我已经这样做了:

`find . -type f -name '*.nasl' -exec sed -i -e 's/script_oid("1.3.6.1.4.1.25623.7.0.\(.*\)/script_oid("1.3.6.1.4.1.25623.1.0.\1/g' {} \;`

我一直在尝试使用 AWK 的一些想法,但到目前为止我还没有找到解决方案。所以,我在这里需要帮助。我在 Ubuntu 16.04 上运行它。

预先感谢您的帮助。

最诚挚的问候,

最佳答案

请尝试:

id=300000
while IFS= read -r -d "" f; do
sed -e "s/script_oid(\"1.3.6.1.4.1.25623.7.0.\(.*\)/script_oid(\"1.3.6.1.4.1.25623.1.0.$id/g" "$f"
id=$((++id))
done < <(find . -type f -name '*.nasl' -print0)

请注意,id 是按 find 出现的顺序分配的。

关于linux - 将数字替换为 SED 中的顺序 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55638243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com