gpt4 book ai didi

shell - 如何增加文件中的数字

转载 作者:行者123 更新时间:2023-12-04 09:40:34 24 4
gpt4 key购买 nike

我有一个日期如下的文件,假设文件名是 file1.txt :

2013-12-29,1

在这里,我必须将数字增加 1,所以它应该是 1+1=2 就像..
2013-12-29,2 

我尝试使用 'sed' 来替换并且只能使用变量。
oldnum=`cut -d ',' -f2 file1.txt`  
newnum=`expr $oldnum + 1`
sed -i 's\$oldnum\$newnum\g' file1.txt

但是我从 sed 语法中得到一个错误,有什么办法可以解决这个问题。提前致谢。

最佳答案

Sed 需要正斜杠,而不是反斜杠。实际上,您使用 '\' 有多个有趣的问题,但快速解决方法应该是(也使用双引号,如下所示):

oldnum=`cut -d ',' -f2 file1.txt`  
newnum=`expr $oldnum + 1`
sed -i "s/$oldnum\$/$newnum/g" file1.txt

但是,我质疑 sed 在这种情况下是否真的适合这项工作。更完整的单一工具,范围从 awkperlpython从长远来看可能会更好。

请注意,我使用了 $行尾匹配以确保您没有将 2012 替换为 2022,我认为这是您不想要的。

关于shell - 如何增加文件中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20836190/

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