码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Shell | 获取下级文件夹 / 文件目录列表


    本文总结如何使用 shell 命令获取干净的子文件夹目录或子文件目录 1。

    Updated: 2022 / 8 / 22


    Shell | 子文件夹 / 文件目录

    • 文件夹
      • ls -d 命令
      • ls -F 命令
      • find -d 命令
      • * 通配符
    • 文件
      • ls -1 命令
      • find -f 命令
    • 参考链接


    文件夹

    ls -d 命令

    在 Linux 中,ls 命令默认会列出所给目录下的所有文件名,包括子目录名。
    但如果只想列出当前目录下的一级子目录名,可以使用 ls -d */ 命令,以下面为例:

    在这里插入图片描述
    可以看到,ls -d */ 命令只列出 TestDir 的一级子目录名,且目录名以 / 结尾。

    以此类推,如果想列出当前目录下的二级子目录名,可以使用 ls -d */*/,以下面为例:

    在这里插入图片描述

    ls -F 命令

    ls -F . |grep /$ 可列出当前目录下的文件下面的子目录,以下面为例:

    在这里插入图片描述


    find -d 命令

    使用 find 并指定文件类型进行查找判断,以下面为例:

    在这里插入图片描述

    * 通配符

    查看 man bash 的 Pathname Expansion 小节,对此说明为 If followed by a /, two adjacent *s will match only directories and subdirectories. 即,当星号 * 通配符后面跟着 / 字符时,路径名扩展结果只有目录名和子目录名。

    如果只是想获取当前目录下的子目录名,直接为赋值为 */ 即可,不要用引号括起来。

    比如,以下面为例:
    在这里插入图片描述
    可以看到,subdirs=*/ 语句会把 subdirs 变量赋值为当前目录下的子目录名,目录名会以 / 结尾。

    当在 shell 脚本中使用时,由于执行 shell 脚本的工作目录可能不固定,也可以通过绝对路径来寻址。

    以此类推,如果想列出当前目录下的二级子目录名,可以以下面为例:


    文件

    ls -1 命令

    一般来说,ls 命令会在一行中打印多个文件名。如果想要每行只打印一个文件名,可以使用 -1 选项。注意,这里是数字 1,而不是字母 l。

    查看 man ls 对 -1 选项说明为 -1 list one file per line. Avoid 'n' with -q or -b。即,-1 选项会让每行只打印一个文件名,以下面为例:

    在这里插入图片描述


    find -f 命令

    使用 find 并指定文件类型进行查找判断,以下面为例:

    在这里插入图片描述


    参考链接


    1. Linux技巧:ls命令只列出子目录名和每行打印一个文件名 ↩︎

  • 相关阅读:
    217. 存在重复元素、Leetcode的Python实现
    ThinkPHP v6.0.13 存在反序列化漏洞
    3.8背景总结
    Python: 10大Web框架简介
    【AnolisOS 8.x】切换运行级别和设置默认运行级别
    MatrixOne 支持多样化生态工具
    SpringBoot 开放HTTPS HTTP ,并且强制HTTP转HTTPS端口
    机器学习 - 决策树:技术全解与案例实战
    由联合体union引出的大小端问题
    硬件开发笔记(十二):RK3568底板电路电源模块和RTC模块原理图分析
  • 原文地址:https://blog.csdn.net/MissMango0820/article/details/126464356
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号