use*_*015 4 text-processing date
我有一个文件abc.fil
,其内容的格式为yyyymmdd.xyz.doc
. 我想要cat
该文件abc.fil
,以便我得到的输出为20150127.xyz.doc
. 任何人都可以帮我解决这个问题吗?
样本文件:
$ cat abc.fil
o/p: yyyymmdd.xyz.doc
yyyymmdd.mno.dat
abc.txt
Run Code Online (Sandbox Code Playgroud)
预期输出:yyyymmdd
我希望当前日期以相同的顺序显示。
你可以使用sed
:
sed "s/yyyymmdd/$(date '+%Y%m%d')/g" abc.fil
Run Code Online (Sandbox Code Playgroud)
这会将字符串替换yyyymmdd
为根据需要格式化的当前日期。
编辑:
如果yyyymmdd
只是要替换的日期格式,则使用该命令(假设 GNU sed
):
sed -r "s/[12][0-9]{3}[01][0-9][0-3][0-9]/$(date '+%Y%m%d')/g" abc.fil
Run Code Online (Sandbox Code Playgroud)
长正则表达式模式的含义如下:第一个数字可以是 1 或 2 ( [12]
),接下来的三个数字可以是从 0 到 9 ( [0-9]
) 的任何数字,即年份。现在是月份:第一个数字可以是 0 或 1,第二个数字可以是从 0 到 9 的所有数字 ( [01][0-9]
)。终于和那天一样了。
归档时间: |
|
查看次数: |
31834 次 |
最近记录: |