linux shell 用什么命令可以修改脚本中全部日期为当前系统日期?

假设脚本名为test,其内容为:cccccc./backup/20140219/aaa_20140813_aaa.a/backup/20140813/aaa_201408... 假设脚本名为test,其内容为:
cccccc./backup/20140219/aaa_20140813_aaa.a
/backup/20140813/aaa_20140813_aaa.a
/backup/20120525/aaa_20140813_aaa.a
/backup/20130612/aaa_20140813_aaa.a
/backup/20110119/aaa_20140813_aaa.a

现在想用一个命令直接把test脚本内容中的所有日期修改为当前系统日期,如何修改,当前系统日期可以用调用$(date +"%Y%m%d")。求各路大侠们给新手一个方法,谢谢。
各位,我可能没说清楚,我的想法是用命令去修改,不是用vi编辑器,脚本里面唯一要求就是修改这些日期为当期系统日期,但是这些已有的日期又都不是固定的日期,上面这段我只是举了个例子!
展开
 我来答
cnbubble
推荐于2017-07-26 · TA获得超过2607个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:769万
展开全部

不过此命令没有改变源文件,可以将命令输出到另一个文件中。

这里认为8个数字的都是日期,如果有不是日期的情况,需要更改正则表达式进行排除。

wallcopper
推荐于2021-01-09 · TA获得超过3447个赞
知道大有可为答主
回答量:1986
采纳率:86%
帮助的人:1813万
展开全部
1、你是要修改test为当前时期,还是想将脚步的结果修改为当前日期
2、如果修改结果可以定义个变量
#!/bin/sh
ymd=`date +%Y%m%d`

cccccc./backup/${ymd}/aaa_${ymd}_aaa.a
/backup/${ymd}/aaa_${ymd}_aaa.a
/backup/${ymd}/aaa_${ymd}_aaa.a
/backup/${ymd}/aaa_${ymd}_aaa.a
/backup//${ymd}/aaa_${ymd}_aa.a
3、如果仅仅修改test可以用vi或sed
更多追问追答
追问
脚本已经固定了的,我现在是要用命令去修改这个test脚本中的日期(该日期不是固定的,但都是年月日)为当前系统日期,要求是不用VI编辑器,sed命令如何修改该脚本?
追答
如果只是修改20140813:
#!/bin/sh

yesterday=`date -d yesterday +%Y%m%d`
today=`date +%Y%m%d`
sed -i "s/${yesterday}/${today}/" test
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tzetzebaby0830
2014-08-14 · TA获得超过155个赞
知道小有建树答主
回答量:411
采纳率:100%
帮助的人:239万
展开全部
sed 或awk 去替换
如果日期已经确定 vi里的替换是否可行。
追问
sed或awk如何操作?
脚本里面的日期是不固定的,很多,所以想用命令去替换全部为当前系统日期!要求是不能用vi编辑器的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NE_Z
2014-08-14 · TA获得超过1737个赞
知道小有建树答主
回答量:1687
采纳率:55%
帮助的人:585万
展开全部
你学习shell呢还是想解决问题?文件夹名要改吗?
追问
学习吧,就是用什么方法能把脚本中的日期,修改为当期系统日期,不是单单用vi进去修改。
追答
哦,不会shell不捣乱了,我以为什么方法都行呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式