0

如果我的标题描述性不够,我深表歉意,我相信以下内容会是。我有 3 个纯文本文件,在每个文件中都是一个日期

Date: 2012-08-31 for example

我想获得一个命令/脚本来找到它并更新到当前日期,但是日期会不断变化并且可能不知道进入(不查看文件的内容)

知道日期是什么,使用 sed 就足够简单了,但是如果知道我要修改的行的语法,但不知道具体的值,我怎么能做到这一点。(“ Date:”至少是不变的)

4

2 回答 2

3

假设您的日期格式不变,并且所有三个文件都是您 PWD 中仅有的三个文本文件,您可以这样使用GNU sed

sed -r 's/Date: [0-9]{4}-[0-9]{2}-[0-9]{2}/Date: 2012-09-01/g' *.txt
于 2012-09-01T07:55:15.733 回答
0
today=`date +%F`
sed -r -i '.bak' "s/Date: [0-9]{4}-[0-9]{2}-[0-9]{2}/Date: $today/g" file1 file2 file3
于 2012-09-01T08:05:14.463 回答