假设脚本名为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编辑器,脚本里面唯一要求就是修改这些日期为当期系统日期,但是这些已有的日期又都不是固定的日期,上面这段我只是举了个例子!
脚本已经固定了的,我现在是要用命令去修改这个test脚本中的日期(该日期不是固定的,但都是年月日)为当前系统日期,要求是不用VI编辑器,sed命令如何修改该脚本?
追答如果只是修改20140813:
#!/bin/sh
yesterday=`date -d yesterday +%Y%m%d`
today=`date +%Y%m%d`
sed -i "s/${yesterday}/${today}/" test
不只是20140813呢,脚本里的日期是不固定的,如果只是昨天前天,我自己应该也好弄~能有其它办法么?
本回答被网友采纳sed或awk如何操作?
脚本里面的日期是不固定的,很多,所以想用命令去替换全部为当前系统日期!要求是不能用vi编辑器的。
学习吧,就是用什么方法能把脚本中的日期,修改为当期系统日期,不是单单用vi进去修改。
追答哦,不会shell不捣乱了,我以为什么方法都行呢