Linux下按字母序查找目录第n个文件及查询文件排序索引的方法问询
Bash 目录文件排序查询命令
1. 按字母排序获取第n个文件
实现逻辑:利用ls默认的字母升序输出规则,配合sed提取指定行内容即可。
通用命令:
# 替换n为你要取的序号,比如要取第3个就把n换成3 ls | sed -n "np"
示例:获取排序后的第3个文件
ls | sed -n "3p"
输出结果为aac,符合要求。
可选调整:如果需要排除目录只统计普通文件,命令修改为
ls -p | grep -v / | sed -n "3p";如果需要包含隐藏文件,将ls替换为ls -a即可。
2. 查询指定文件在字母排序中的索引
实现逻辑:先输出排序后的文件名列表,用grep精准匹配目标文件同时输出行号,提取行号即为对应索引。
通用命令:
# 替换[目标文件名]为你要查询的文件名,比如查询aac就替换为aac ls | grep -n "^[目标文件名]$" | cut -d: -f1
示例:查询文件aac的排序索引
ls | grep -n "^aac$" | cut -d: -f1
输出结果为3,符合要求。
可选调整:和第一个需求同理,需要排除目录/包含隐藏文件的话,调整
ls对应的参数即可。
内容的提问来源于stack exchange,提问作者EzPaulZ
相关产品推荐
相关产品推荐

