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

发布时间:2020-07-20 16:35:25

来源:亿速云

阅读:102

作者:小猪

栏目:服务器

这篇文章主要为大家展示了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命令如何提取文件夹内特定文件路径的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。

服务器内提取文件,linux命令如何提取文件夹内特定文件路径相关推荐

  1. 在linux命令行下载百度网盘中的文件

    在linux命令行下载百度网盘中的文件 将想下载的文件创建一个公开链接, 然后在浏览器里输入链接地址,单击下载,之后浏览器会下载文件,此时取消下载,然后右键复制下载链接地址. linux命令行执行如下 ...

  2. linux命令中提取某一列,怎么用Linux命令提取表格文本中的某列

    如何用Linux命令提取表格文本中的某列 文本文件x.txt内容如下: kaa a:\dkdkdk 123 dfdfdf b:\xxxxxxxxx 3234 j你好x c:\fdfdfv 打开 我现在 ...

  3. diff命令两个服务器文件,LINUX命令diff-文件管理-比较给定的两个文件的不同

    diff命令 在最简单的情况下,比较给定的两个文件的不同.如果使用"-"代替"文件"参数,则要比较的内容将来自标准输入.diff命令是以逐行的方式,比较文本文件 ...

  4. Linux命令+shell脚本大全:处理数据文件

    当你有大量数据时,通常很难处理这些信息及提取有用信息.正如在上节中学习的 du 命令, 系统命令很容易输出过量的信息. Linux系统提供了一些命令行工具来处理大量数据.本节将会介绍一些每个系统管理员 ...

  5. linux目录下多个文件行数比对函数 关键字遍历文件 linux命令写入C函数

    人,一定要有勇气和踏实的态度面对改变和选择!开发,零经验起步! 文件行数比对函数: 输入参数:接口文件绝对路径,日期(格式YYYYMMDD:20150716) 根据路径和日期,分别获取这add.del ...

  6. 直接查看Z包文本linux,《工作效率篇》Linux命令行十种不解压查看压缩文件的方法...

    一般来讲,我们如果想要查看压缩文件的内容的话,需要先将压缩文件解压,然后再进行查看. 今天本文就介绍在 Linux 系统命令行下直接查看压缩文件内容的 10 种方法,可以提高大家的工作效率. 本文所介 ...

  7. 【Linux】Linux命令大全——解压、目录、文件、搜索等

    文件目录 1.常用命令 常用Linux命令的基本使用 2.查阅命令帮助信息 2.1 help 帮助信息 2.2 man 手册 3.目录常用命令 3.1创建文件夹的命令 3.2删除文件夹的命令(谨慎使用 ...

  8. linux打开图形化命令,在Linux命令行中以图形化窗口打开文件夹

    快速Android开发系列网络篇之Retrofit Retrofit是一个不错的网络请求库,用官方自己的介绍就是: A type-safe REST client for Android and Ja ...

  9. linux将屏幕输出到文件,Linux命令执行的屏幕输出内容重定向到日志文件

    摘要: 作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 快速mark一下这个命令细节,免得以后使用又忘记了 大家都知道可以用echo来输出内容到 ...

最新文章

  1. JVM 垃圾回收机制和常见算法
  2. 互联网人,天生就是送外卖的料!
  3. Atcoder Contest069F:Flag
  4. [转载] python类运算符的重载
  5. libvirt热迁移报Connection refused错误解决办法
  6. 一个自动在栈和堆上分配变长数组的实现方式
  7. 服务器维护 文档,ERP系统维护服务器维护管理文档.docx
  8. 532. 数组中的K-diff数对
  9. burpsuite工具抓取Https数据包
  10. 中行网银安全控件 v1.0 官方版
  11. 有限差分法下-一维中的显示有限差分(python)
  12. mouseenter、mouseleave、mouseover和mouseout的区别
  13. 什么是 Uptime TIER 数据中心等级认证体系?-孙长青
  14. 在局域网内互传文件的方法
  15. 输入起止坐标,返回途径网格。
  16. 无需花生壳,阿里云解析实现内网穿透
  17. html编写花,HTML5的花儿
  18. [CLI应用学习]实践使用GitHub CLI
  19. html中圆角的度,cssli圆角
  20. 机器学习中的隐变量和隐变量模型

热门文章

  1. 走近分形与混沌(part15)--有钱的人会愈来愈有钱,不一定是在于他们的能力,而是因为财富会产生财富
  2. 嵩天-Python语言程序设计程序题--第二周:基本图形绘制
  3. matlab第二次上机作业答案,第二次上机作业
  4. 在 CloudFoundry 环境下开发 multitenant 应用的一些基本概念
  5. SAP Spartacus 4.0 的技术变化
  6. SAP 电商云 Spartacus UI 路由事件监控
  7. SAP Spartacus 如何重定义登录 Login Component
  8. 谈谈无头电商 - headless commerce
  9. promise 和 Observable 的区别
  10. TypeScript Parameter Destructuring 语法 - 参数解构