例如,如果有目录 3:
mkdir 4; cp file 4
也dir
可以调用3 other text
。除了增加的数字外,仍然不需要任何文本mkdir 4
。需要检测最高数字。
答案1
假设您有连续编号的目录,如:“ dirnameN
”,
其中“ N
”是数字。
您可以通过以下方式(从父目录中)找到最高数字,
查找 . -type d -name dirname\* | sed 's|dirname||' | sort -n | tail -1
因此,您可以使用目录名称中的模式将其过滤掉(使用“ sed
”)并保留数字。
然后按数字排序以找到最后一个数字。
之后,您可以向其中添加一个,然后继续使用相同的模式创建下一个目录。
比如说,
目录名称模式=目录名称 最后一个目录名称=11 新目录名称=$((上次目录名称+1)) newDirname=${dirnamePattern}${newDirname}
会给你 ' dirname12
'。
答案2
下面应该在一行中完成这个任务:
mkdir $(($(find . -type d | sed -e 's/[^0-9]*//g' | sort -n | tail -n 1)+1))
给定文件夹:
1 something
3 other text
some 5 thing
2 test
这将创建一个名为 的文件夹6
。
如果您想要复制一个名为的文件file
,请执行以下操作:
name=$(($(find . -type d | sed -e 's/[^0-9]*//g' | sort -n | tail -n 1)+1)); mkdir $name; cp file $name