千家信息网

linux命令如何提取文件夹内特定文件路径

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要为大家展示了linux命令如何提取文件夹内特定文件路径,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。最近需要实现自动化搜寻特定文件夹下的特定
千家信息网最后更新 2026年11月03日linux命令如何提取文件夹内特定文件路径

这篇文章主要为大家展示了linux命令如何提取文件夹内特定文件路径,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

最近需要实现自动化搜寻特定文件夹下的特定文件,并且需要分别保存文件路径与文件名。算然使用python的walk能够实现,但是感觉复杂了些。于是想看看linux自带的命令是否能完成这项工作。

环境

需要查找的目录结构如下

. |____test | |____test2.txt | |____test.py | |____test.txt | |____regex.py |____MongoDB | |____.gitignore | |____cnt_fail.py | |____db

目标一:获取所有py文件名

如果只使用find . -name '*.py'进行查找,得出的结果是包含路劲的

./test/test.py
./test/regex.py
./MongoDB/cnt_fail.py

我们只需要文件名的话可以使用linux提供的命令basename

利用basename将find的所有搜索结果进行处理我们需要使用find的参数-exec

最终的命令为:

find . -name '*.py' -exec basename {} \;

结果:

test.py
regex.py
cnt_fail.py

其中{} 用于与-exec选项结合使用来匹配所有结果,然后支取其文件名。

目标二:获得所有py文件路径,去重复,删除开头的"./"字符

linux也有获取文件路径的命令dirname

略微修改之前的命令能够显示所有文件路径

find . -name '*.py' -exec dirname {} \;
搜索结果:

./test
./test
./MongoDB

可以看到路径存在重复,linux去除重可以利用sort再添加-u参数,-u参数用于去除排序结果中的重复项
我们需要把上一个命令的输出传递给sort作为输入,很自然想到了管道

管道命令操作符是:|,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard
error 信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入 standard input.

添加sort之后的命令为

find . -name '*.py' -exec dirname {} \; | sort -u

运行结果结果为:

./MongoDB
./test

最后我们再利用cut删除每一个路劲之前的./字符,参数-c3-意思提取字符串(起始位置为1)的第3个字符到最后的子串
最终命令为:

find . -name '*.py' -exec dirname {} \; | sort -u | cut -c3-

运行结果:

MongoDB
test

以上就是关于linux命令如何提取文件夹内特定文件路径的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。

文件 命令 结果 路径 参数 字符 文件名 文件夹 信息 处理 学习 内特 内容 搜索结果 目标 管道 搜索 输入 输出 运行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技未来 猪兼强互联网科技 互联网金融 科技创新 互联网科技股有哪些 海南购全球互联网科技 广西拼得多互联网科技有限公司 科技与互联网的利与弊 济南华为互联网科技产业总部基地 北京华百购互联网科技有限公司 互联网金融科技公司干啥的 注册互联网科技公司经营范围大全 互联网科技和信息 国大互联网教育科技有限公司薪资 梅州GM互联网络科技有限公司 广州富喜互联网络科技 互联网风格科技公司名称 科技互联网行业投资研究 互联网时代科技型公司的机会 互联网领先科技成果宣传视频 互联网科技企业文化 互联网科技网 互联网科技公司的优势 互联网科技金融 深圳互联网科技公司 有马互联网科技 齐家互联网科技 科技互联网的估值 亳州好赞互联网科技有限公司 云南省自由互联网科技有限公司 广西科技产业互联网是什么
0