我正在处理大量的图像数据,它如下
/root/folder1
/root/folder2
/root/folder3
/root/folder4
...
但实际上,子文件夹名称并没有明确地用数字写出。
那么,如果我想找到第 230 个文件夹,我必须逐个计数。我该如何巧妙地找到它?
谢谢!
答案1
由于我们不知道您如何排序,我只是假设它是按字母顺序排列的,在这种情况下,在终端中运行以下命令:
cd /enter/dir/here
ls | sort | head -n 230 | tail -n 1
这将按ls
字母顺序排序,仅获取前 230 个结果,然后获取这 230 个结果中的最后一个。
答案2
我通常使用bash
,但这是您可能需要考虑切换到的任务之一,zsh
以便您可以使用其glob 限定符
print dir/*(/on[230])
解释:
/
:匹配目录on
:按升序排序o订购name (降序排列,使用大写O
)[230]
:将结果限制在给定的范围内
范围限定符更一般的形式为[m,n]
- 您也可以[230,230]
在这种情况下使用。
如果您需要执行此操作,bash
则需要外部工具:这是一种对任何文件名(甚至是带有嵌入换行符的文件名)都应该安全的方法:
printf '%s\0' dir/*/ | sort -z | awk -vRS='\0' 'NR==230 {print; exit}'
答案3
假设您使用的是 ubuntu,因此 nautilus 是您的文件浏览器。如果是这样,则按 CTRL+F 并键入文件夹名称。但正如您所说,文件夹不是明确以数字表示的,但您可以在右上角进行更改以按详细信息而不是图标显示文件夹,然后选择按日期修改。