我有一个包含如下文件的目录:
001_something.php 002_something_else.php
004_xyz.php 005_do_good_to_others.php
我最终想创建一个新的空 PHP 文件,其名称以系列中的下一个数字开头。
LIST=`exec ls $MY_DIR | sed 's/\([0-9]\+\).*/\1/g' | tr '\n' ' '`
前面的代码给我一个这样的字符串:
LIST='001 002 004 005 '
我想获取 005,加一,然后使用该数字生成新文件名。我如何在 BASH 中执行此操作?
最佳答案
您需要整个 LIST 吗?
如果没有
LAST=`exec ls $MY_DIR | sed 's/\([0-9]\+\).*/\1/g' | sort -n | tail -1`
只会给你 005 部分和
printf "%03d" `expr 1 + $LAST`
将打印序列中的下一个数字。
关于bash - 在名称以数字开头的目录中查找编号最高的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1587059/