有没有办法为路径指定“目录中的最后一个文件夹”?
例如,我有一个目录a/
,其中包含文件夹1/
,2/
,3/
,4/
,5/
。
如何指定cat a/${last_folder}/<my file>
?在这种情况下,它应扩展为a/5/<my file>
。
答案 0 :(得分:5)
Subshell expansion是你的朋友。
cat "$(find a/ -type d -maxdepth 1 -mindepth 1 |sort |tail -1)"/<my file>
或者如果你想对它蒙羞:
: a/*/
cat "$_"/<my file>
:
是一个什么都不做的命令。这里使用它将$_
设置为命令行中的最后一个单词扩展。由于a/*/
扩展为a/1 a/2 a/3 a/4 a/5
,因此会将$_
设置为a/5
。