基于linux命令提取文件夹内特定文件路径_Linux

来源:脚本之家  责任编辑:小易  

1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。2、在linux命令行下输入shell指令:zip-r test.zip/home/httpd/html/test。3、键盘按“回车键”运行shell指令,此时成功将test文件夹以及其以下文件一同打包到了test.zipwww.zgxue.com防采集请勿采集本网。

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

Linux中查找文件夹的命令是find命令。Linux-文件搜索命e69da5e887aa3231313335323631343130323136353331333431346430令find的操作使用方法如下: 1、全盘搜索,也可以指定目录搜索。find

环境

需要查找的目录结构如下

使用“cd”命令打开 文件夹,进入文件夹后,就可以查看文件夹里的文件。步骤如下: 1、使用win+R打开“运行窗口”。2、在打开的“运行”知窗口,输入“cmd”打开Linux中命令行窗口。3、进入命令行窗口后,

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

Linux下可以用sed命令向文件中追加内容。案例:把/etc/test1文件中1-10行内容写入到test2中 sed-n '1,10'p/etc/test1>>test2 将file1的1-10行追加到file2sed命令行格式为:抄 sed[-nefri]

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

5、这里就要演示一下mkdir 的用法了,比如我要创建一个文件名字为one的文件夹,那么在linux里公式就应该写成#mkdir one 具体操作如图显示。6、创建完成之后,用ls-l命令来查看一下文件的属性,大家看到图

如果只使用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

用mv命令1.作用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令等同于DOS系统下的ren和move命令的组合。它的使用权限是所有用户。2.格式mv[options]源文件或目录 目标文件或目录3.[options]主要参数i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件。f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。4.第二个参数当第二个参数类型是文件时,mv命令完成文件重命名,它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。5.应用实例(1)将/usr/udt中的所有文件移到当前目录(用”.”表示)中:mv/usr/udt/*.(2)将文件test.txt重命名为wbk.txt:mv test.txt wbk.txt(3)把当前目录的一个子目录里的文件移动到另一个子目录里mv 文件名/*另一个目录(4)移动当前文件夹下的所有文件到上一级目录mv*./内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • linux下修改mysql数据库数据文件路径的步骤
  • window与linux项目部署之linux文件路径不存在问题
  • 详解kali linux 常用文件与指令路径
  • linux中如何查询运行文件的全路径的方法
  • linux中tar打包指定路径文件的实现方法
  • linux中通过文件描述符获取文件绝对路径的方法
  • 查看linux服务器上mysql配置文件路径的方法
  • linux修改mysql数据库文件的路径
  • .htaccess 顶级域名重定向绑定空间目录
  • 基于apache的支持.net2.0的web服务器搭建
  • linux下执行java程序的方法
  • 阿里云linux服务器下安装apache的简单方法
  • ubuntu系统日志配置 /var/log/messages的方法
  • linux下独立添加php扩展模块mbstring的方法
  • 解决centos7中tomcat启动与本机访问问题
  • linux sysctl参数配置详细介绍
  • centos 7使用samba共享文件夹的完整步骤
  • linux 命令行通配符及转义符的实现
  • linux命令怎么把一个文件移动到另一个文件夹
  • Linux下,如何用命令,要求:只打包当前文件夹和所有子文件夹中的.
  • 我有两个文件,需要用linux 命令提取两个文件中,输出 分别有的行 和 相同的行,求助如何写命令?
  • linux 什么命令能找出一个文件夹里最近更新的文件?
  • Linux中查找文件夹的命令
  • linux在文字系统下怎样打开一个文件夹及文件
  • 在linux命令行下如何将指定的几行内容写入到一个文件中?
  • Linux虚拟机命令如何创建新的文件和文件夹
  • linux复制文件夹命令到另一个文件夹下
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器linux下修改mysql数据库数据文件路径的步骤window与linux项目部署之linux文件路径不存在问题详解kali linux 常用文件与指令路径linux中如何查询运行文件的全路径的方法linux中tar打包指定路径文件的实现方法linux中通过文件描述符获取文件绝对路径的方法查看linux服务器上mysql配置文件路径的方法linux修改mysql数据库文件的路径.htaccess 顶级域名重定向绑定空间目录基于apache的支持.net2.0的web服务器搭建linux下执行java程序的方法阿里云linux服务器下安装apache的简单方法ubuntu系统日志配置 /var/log/messages的方法linux下独立添加php扩展模块mbstring的方法解决centos7中tomcat启动与本机访问问题linux sysctl参数配置详细介绍centos 7使用samba共享文件夹的完整步骤linux 命令行通配符及转义符的实现apache开启.htaccess及.htaccessservice temporarily unavailabllinux下实现免密码登录(超详细)apache rewrite url重定向功能的linux下用cron定时执行任务的方法apache性能测试工具ab使用详解centos 6.4安装配置lamp服务器(a阿里云服务器ping不通解决办法(centos+nginx+php+mysql详细配置apache you don""t have permissgit 详细介绍查看、删除、重命名远程分支yum安装本地rpm软件方案详解ubuntu18.04服务器密码忘记或被篡改如何重centos 7 在vmware中的网络设置详细介绍apache安全配置之禁止目录访问的配置方法linux文件基本属性知识点总结linux apache设置压缩及缓存linux上通过ssh挂载远程文件系统方法详解linux系统使用用户密钥ssh主机访问linux网络相关配置文件
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved