测试环境,/llj下有许多的目录、文件等:

[root@test llj]# ll
total 0
drwxr-xr-x 2 root root 17 Dec 3 10:04 ext
-rw-r--r-- 1 root root 0 Dec 3 10:04 jeacen
-rw-r--r-- 1 root root 0 Dec 3 10:03 llj
drwxr-xr-x 2 root root 6 Dec 3 10:02 test
-rw-r--r-- 1 root root 0 Dec 3 10:02 wodi.gz
drwxr-xr-x 2 root root 6 Dec 3 10:04 xiaodong
drwxr-xr-x 2 root root 6 Dec 3 09:58 xiaofan
drwxr-xr-x 2 root root 6 Dec 3 10:04 xingfujie
-rw-r--r-- 1 root root 0 Dec 3 10:02 yingsui.gz
[root@test llj]#

目标:过滤出已知当前目录下/llj中的所有一级目录

解决方案:

一、观察到 ll /llj 中目录的信息都是以 d 开头,使用 grep,和正则筛选出来。

[root@test llj]# ls -l |grep "^d"
drwxr-xr-x 2 root root 17 Dec 3 10:04 ext
drwxr-xr-x 2 root root 6 Dec 3 10:02 test
drwxr-xr-x 2 root root 6 Dec 3 10:04 xiaodong
drwxr-xr-x 2 root root 6 Dec 3 09:58 xiaofan
drwxr-xr-x 2 root root 6 Dec 3 10:04 xingfujie

二、观察到目录的第二列连接数都是 >1(=2),使用 awk 删选:

[root@test llj]# ls -l |awk '$2>1'
drwxr-xr-x 2 root root 17 Dec 3 10:04 ext
drwxr-xr-x 2 root root 6 Dec 3 10:02 test
drwxr-xr-x 2 root root 6 Dec 3 10:04 xiaodong
drwxr-xr-x 2 root root 6 Dec 3 09:58 xiaofan
drwxr-xr-x 2 root root 6 Dec 3 10:04 xingfujie

三、给目录一定的特征,想到 ls 的 -p 和-F参数,让目录后跟/,那么用 grep 删选出 / 结尾的:

[root@test llj]# ls -lp|grep '/$'
drwxr-xr-x 2 root root 17 Dec 3 10:04 ext/
drwxr-xr-x 2 root root 6 Dec 3 10:02 test/
drwxr-xr-x 2 root root 6 Dec 3 10:04 xiaodong/
drwxr-xr-x 2 root root 6 Dec 3 09:58 xiaofan/
drwxr-xr-x 2 root root 6 Dec 3 10:04 xingfujie/

[root@test llj]# ls -lF|grep '/$'
drwxr-xr-x 2 root root 17 Dec 3 10:04 ext/
drwxr-xr-x 2 root root 6 Dec 3 10:02 test/
drwxr-xr-x 2 root root 6 Dec 3 10:04 xiaodong/
drwxr-xr-x 2 root root 6 Dec 3 09:58 xiaofan/
drwxr-xr-x 2 root root 6 Dec 3 10:04 xingfujie/

四、既然 ls 可以,那么 tree 当然可以,使用tree的 -F 参数,然后删选出 / :

[root@test llj]# tree -L 1 -F |grep '/'
|-- ext/
|-- test/
|-- xiaodong/
|-- xiaofan/
|-- xingfujie/

五、直接使用 tree 的 -d 参数,只显示目录:

[root@test llj]# tree -Ld 1  | grep -v '\.'
|-- ext
|-- test
|-- xiaodong
|-- xiaofan
`-- xingfujie

5 directories

六、是时候使用 find 了,-maxdepth参数可以指定查找的目录级数为1,-type可以指定查找类型为目录,! 和 -name参数可以去除查找到的当前目录 . ,实现如下:

[root@test llj]# find -maxdepth 1 -type d ! -name "."
./ext
./xiaofan
./test
./xiaodong
./xingfujie

七、使用sed和awk过滤ls结果

[root@test llj]# ls -l | sed -n '/^d/p'
drwxr-xr-x 2 root root 17 Dec 3 10:04 ext
drwxr-xr-x 2 root root 6 Dec 3 10:02 test
drwxr-xr-x 2 root root 6 Dec 3 10:04 xiaodong
drwxr-xr-x 2 root root 6 Dec 3 09:58 xiaofan
drwxr-xr-x 2 root root 6 Dec 3 10:04 xingfujie

[root@test llj]# ls -l | awk '/^d/'
drwxr-xr-x 2 root root 17 Dec 3 10:04 ext
drwxr-xr-x 2 root root 6 Dec 3 10:02 test
drwxr-xr-x 2 root root 6 Dec 3 10:04 xiaodong
drwxr-xr-x 2 root root 6 Dec 3 09:58 xiaofan
drwxr-xr-x 2 root root 6 Dec 3 10:04 xingfujie

[root@test llj]# ls -F | sed -n '/\/$/p'
ext/
test/
xiaodong/
xiaofan/
xingfujie/

[root@test llj]# ls -F | awk '/\/$/'
ext/
test/
xiaodong/
xiaofan/
xingfujie/

八、另类查询办法

[root@test llj]# ls -dl */
drwxr-xr-x 2 root root 17 Dec 3 10:04 ext/
drwxr-xr-x 2 root root 6 Dec 3 10:02 test/
drwxr-xr-x 2 root root 6 Dec 3 10:04 xiaodong/
drwxr-xr-x 2 root root 6 Dec 3 09:58 xiaofan/
drwxr-xr-x 2 root root 6 Dec 3 10:04 xingfujie/

源自:晓明酱

转载于:https://www.cnblogs.com/liulj0713/p/7966470.html

如何过滤出已知当前目录下/llj中的所有一级目录?相关推荐

  1. 二叉树已知前序遍历、中序遍历画出二叉树的形状

    前序遍历: 前序遍历(VLR)是二叉树遍历的一种,也叫做先根遍历.先序遍历.前序周游,可记做根左右.前序遍历首先访问根结点然后遍历左子树,最后遍历右子树. 若二叉树为空则结束返回,否则: (1)访问根 ...

  2. 在excel工作表中c1单元格_已知Excel工作表中A1单元格和B1单元格的值分别为“电子科技大学”、“信息中心”,要求在C1单元格显示“...

    已知Excel工作表中A1单元格和B1单元格的值分别为"电子科技大学"."信息中心",要求在C1单元格显示" 更多相关问题 所谓犯罪现象的特性,是指为 ...

  3. 数据结构----二叉树已知先序和中序遍历序列求后序遍历

    说明 通过先序和中序或者中序和后序我们可以还原出原始二叉树,但是通过先序和后序是无法还原出原始二叉树也即是说,只有通过先序和中序,或者中序和后序我们才可以唯一的确定一个二叉树. 例子一 已知先序和中序 ...

  4. 已知后序与中序输出前序(先序)

    已知后序与中序输出前序(先序): 后序:3, 4, 2, 6, 5, 1(左右根) 中序:3, 2, 4, 1, 6, 5(左根右) 分析:因为后序的最后一个总是根结点,令i在中序中找到该根结点,则i ...

  5. [java]已知文件 source.txt 中的内容如下,其中,username、yonghu 都表示用户名,password、mima都表示密码,level、dengji都表示等级

    已知文件 source.txt 中的内容如下 username=root , password= 1234, id=1, level= 10 username= adimin, mima= 1234 ...

  6. 二叉树:已知先序和中序求后序,已知中序和后序求先序

    树的三种遍历方式的遍历顺序: 先序遍历:根.左子树.右子树(特点:第一个元素为根) 中序遍历:左子树.根.右子树(特点:根的两边分别为左子树和右子树) 后序遍历:左子树.右子树.根(特点:最后一个元素 ...

  7. 二叉树的建立(已知前序序列和中序序列)

    已知二叉树前序序列和中序序列递归创建二叉树 #include<bits/stdc++.h> using namespace std; typedef struct Node{char da ...

  8. matlab已知飞机下轮廓线,数学建模matlab插值及拟合.ppt

    数学建模matlab插值及拟合 2013数学建模培训 插值与拟合 插值与拟合属数值分析中函数逼近内容.在数学建模竞赛中,插值与拟合是一种常用的数据分析手段,被公认为建模中的十大算法之一. 本节首先通过 ...

  9. 利用计算机解决问题过程中找出已知,用计算机解决问题的过程.ppt

    用计算机解决问题的过程.ppt 第一章揭开计算机解决问题的神秘面纱 第一节计算机解决问题的过程 什么是程序 计算机的任何动作都是在执行人给它的指令 人们针对某一需要而为计算机编制的指令序列称为程序指示 ...

最新文章

  1. alexnet训练多久收敛_如何将深度学习训练速度提升一百倍?PAISoar 来了
  2. 离散时间复指数序列的周期性质
  3. ORA-07445导致实例崩溃的解决【The solution of instance crush by ORA-07445】
  4. S/4HANA的生产订单,哪个字段可以用来做生产完成的标志位
  5. 前端学习(2513):组件css作用域
  6. 单链表遍历_单链表及其遍历实现的基本操作
  7. 前后端分离后 前端获得session数据_机器学习模型部署--打通前后端任督二脉
  8. Net设计模式实例之桥接模式( Bridge Pattern)(1)
  9. JPEG 原理分析及 JPEG 解码器的调试
  10. 目标检测:YOLO You Only Look Once
  11. 派森编程python_派森(Python)编程有什么用?
  12. html5 移动页面,html5入门到精通,移动设备的html5页面布局
  13. 【博学谷学习记录】超强总结,用心分享 | 产品经理必备技能之Axure RP9(持续更新)
  14. Jetson-Xavier-NX刷机+pytorch环境配置+yolov5运行
  15. HTML+CSS+JS实现 ❤️ 科技感的数字时钟特效❤️
  16. “The user name or passphrase you entered is not correct “ for Mac Xcode
  17. Android图表控件MPAndroidChart实现左右滑动以及联动
  18. 为什么平面设计工资那么低,还那么多人做?大概是你不会接单
  19. 第二次打开不是最大_舵手图解:大盘日线第二次形成买点信号
  20. angular4学习之旅——问题集

热门文章

  1. 使用NGINX发布DEM切片
  2. *转载 Tarjan有向图详解
  3. DTU基础知识普及手册
  4. 华为交换机配置时区_华为交换机配置NTP实现时间自动同步
  5. Win10开机自动同步时间
  6. 网络安全“攻防战”:“魔”“道”大盘点
  7. 如何在计算机中增加硬盘分区,win10系统电脑下增加新磁盘分区的操作方法
  8. 制作Linux内存镜像+制作对应的volatility profile
  9. VC|MFC内存不能为read,内存不能为 written 分析
  10. Java并发之魂——synchronized深度解析