linux在文件中加入日期,在Linux中,将日期附加到文件名

问题描述

我想在文件名(“somefile.txt”)旁边添加日期。例如:somefile_25-11-2009.txt或somefile_25Nov2009.txt或类似的任何内容

也许脚本会执行操作或在终端窗口中执行某些命令。我正在使用Linux(Ubuntu)。

提前致谢。

哦,我几乎忘了补充,每次要将文件保存到特定文件夹但仍保留以前的文件时,脚本或命令都应将文件名更新为新日期。因此,最终该文件夹中将包含以下文件:filename_18Oct2009.txt,filename_9Nov2009.txt,filename_23Nov2009.txt

最佳思路

这里有两个问题。

1.以字符串形式获取日期

这很容易。只需将date命令与+选项一起使用即可。我们可以使用反引号来捕获变量中的值。

$ DATE=`date +%d-%m-%y`

您可以使用date man page上详细介绍的不同的%选项来更改日期格式。

2.将文件拆分为名称和扩展名。

这有点棘手。如果我们认为它们只是文件名中的一个.,则可以将cut与.用作分隔符。

$ NAME=`echo $FILE | cut -d. -f1

$ EXT=`echo $FILE | cut -d. -f2`

$ NAME=${FILE%.*}

$ EXT=${FILE#*.}

将它们放在一起,我们得到:

$ FILE=somefile.txt

$ NAME=${FILE%.*}

$ EXT=${FILE#*.}

$ DATE=`date +%d-%m-%y`

$ NEWFILE=${NAME}_${DATE}.${EXT}

$ echo $NEWFILE

somefile_25-11-09.txt

而且,如果我们不太担心可读性,那么我们可以在一行(使用不同的日期格式)上完成所有工作:

$ FILE=somefile.txt

$ FILE=${FILE%.*}_`date +%d%b%y`.${FILE#*.}

$ echo $FILE

somefile_25Nov09.txt

次佳思路

您可以使用反引号。

$ echo myfilename-"`date +"%d-%m-%Y"`

产量:

myfilename-25-11-2009

第三种思路

cp somefile somefile_`date +%d%b%Y`

参考资料

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值