Bash:如何在同一文件夹中的前一个文件的数字ID后命名文件?

时间:2013-07-31 07:34:06

标签: bash filenames sequence

我正在尝试创建一个简单的脚本,用于从命令行中记笔记。文件名应包含每个注释的编号和创建日期。像这样:

01_20130711.txt
02_20130722.txt
03_20130731.txt
...

因此,音符编号应该从我输入的最后一个音符开始向上计数。此外,当notes文件夹为空时,在那里创建的第一个文件应该以{{1​​}}作为其编号。

如何完成此类自动计算?

2 个答案:

答案 0 :(得分:3)

set *.txt
[[ ${*: -1} =~ [0-9]+ ]]
printf -v next '%02d_%d.txt' $(( BASH_REMATCH + 1 )) $(date +%Y%m%d)
touch $next

答案 1 :(得分:0)

尝试

lastfile = `ls -lrth | tail -n 1`
lastnumber = `echo $lastfile | awk -F"_" '{print $1}'`

获取最后一个节点的数量。我认为其余的剧本现在已经很清楚了。