sam*_*ami 26 linux ubuntu filenames rename append
我想在文件名旁边添加日期("somefile.txt").例如:somefile_25-11-2009.txt或somefile_25Nov2009.txt或其他任何效果
也许脚本会在终端窗口中执行或执行某些命令.我正在使用Linux(Ubuntu).
提前致谢.
哦,我几乎忘了添加脚本或命令应该每次要将文件保存到特定文件夹但仍保留以前的文件时将文件名更新为新的日期.所以文件夹中最终会有这样的文件:filename_18Oct2009.txt,filename_9Nov2009.txt,filename_23Nov2009.txt
Dav*_*ebb 40
这里有两个问题.
1.将日期作为字符串
这很简单.只需使用date带有该+选项的命令即可.我们可以使用反引号来捕获变量中的值.
$ DATE=`date +%d-%m-%y`
Run Code Online (Sandbox Code Playgroud)
您可以使用日期手册页中%详细说明的不同选项更改日期格式.
2.将文件拆分为名称和扩展名.
这有点棘手.如果我们认为它们只是.文件名中的一个,我们可以使用cut它.作为分隔符.
$ NAME=`echo $FILE | cut -d. -f1
$ EXT=`echo $FILE | cut -d. -f2`
Run Code Online (Sandbox Code Playgroud)
但是,这不适.用于文件名中的多个.如果我们正在使用bash- 你可能是 - 我们可以使用一些bash魔法,它允许我们在进行变量扩展时匹配模式:
$ NAME=${FILE%.*}
$ EXT=${FILE#*.}
Run Code Online (Sandbox Code Playgroud)
将它们放在一起我们得到:
$ FILE=somefile.txt
$ NAME=${FILE%.*}
$ EXT=${FILE#*.}
$ DATE=`date +%d-%m-%y`
$ NEWFILE=${NAME}_${DATE}.${EXT}
$ echo $NEWFILE
somefile_25-11-09.txt
Run Code Online (Sandbox Code Playgroud)
如果我们不那么担心可读性,我们会在一行上完成所有工作(使用不同的日期格式):
$ FILE=somefile.txt
$ FILE=${FILE%.*}_`date +%d%b%y`.${FILE#*.}
$ echo $FILE
somefile_25Nov09.txt
Run Code Online (Sandbox Code Playgroud)
mik*_*iku 34
你可以使用反引号.
$ echo "myfilename-"`date +"%d-%m-%Y"`
Run Code Online (Sandbox Code Playgroud)
产量:
myfilename-25-11-2009
Run Code Online (Sandbox Code Playgroud)
Sou*_*sou 16
cp somefile somefile_`date +%d%b%Y`
Run Code Online (Sandbox Code Playgroud)
ano*_*knr 13
您可以在subshelldate中调用命令的文件名旁边添加日期。
date带有所需格式选项的命令在反引号 ( )的大括号$()或之间调用,在子 shell`\xe2\x80\xa6`中执行,然后将输出放置在原始命令中。
更优选,因为in$(...)可以嵌套。因此,您可以在另一个替换中使用命令替换。
问题请求的解决方案
\n$ echo somefile_$(date +%d-%m-%Y).txt\nsomefile_28-10-2021.txt\n\n$ echo somefile_$(date +%d%b%Y).txt\nsomefile_28Oct2021.txt\nRun Code Online (Sandbox Code Playgroud)\n该date命令附带许多格式选项,允许您根据要求自定义日期输出。
我在 bash 中使用这个脚本:
#!/bin/bash
now=$(date +"%b%d-%Y-%H%M%S")
FILE="$1"
name="${FILE%.*}"
ext="${FILE##*.}"
cp -v $FILE $name-$now.$ext
Run Code Online (Sandbox Code Playgroud)
该脚本将 filename.ext复制到 filename-date.ext,还有另一个脚本将 filename.ext移动到 filename-date.ext,您可以从这里下载它们。希望您发现它们有用!
| 归档时间: |
|
| 查看次数: |
72170 次 |
| 最近记录: |