首页 > 系统相关 >一行shell实现tree

一行shell实现tree

时间:2022-11-28 22:47:03浏览次数:30  
标签:shell 匹配 tree 一行 --- sed 字符串 find

一、命令详解

在不方便编译或安装tree命令时,可以使用以下的find命令来替代,语句如下:

find . -print | sort | sed 's;[^/]*/;|---;g;s;---|;|;g'

 

 

二、分析原理:

-print:默认选项,指定显示路径全名并换行,可不加该选项

sort:将上一步输出的路径名按照字典进行排序,更易查看

sed:将上面寻常的输出变得有层次,更易于查看;且支持正则表达式方式匹配,[^/]*匹配不含/的任意长度字符串,其实实现的效果就是将如./a/b/c形式的路径字符串中的所有被/分割的字符串进行匹配,如其中的.、a、b与c

[^/]*后再加1个/字符,则匹配上例中非最后一个被/分隔的字符串外的所有以/结尾的字串,也即除c外的所有上级目录,如./与a/;以|---|---cache为例,第一个|不会被替换,而其后的---|都将被简化为|,这一步与上一步的作用本质一样,对于含有上级目录的路径,保留文件名前的---,其余部门每含有一个上级目录,多一个|,以实现美化输出的结果

 

标签:shell,匹配,tree,一行,---,sed,字符串,find
From: https://www.cnblogs.com/mrwhite2020/p/16933910.html

相关文章

  • shell
     命令排序在一行,敲多个命令,;不具逻辑判断./config;make;makeinstall&&||具备逻辑判断,要看命令返回值echo$?./config&& make&&makeinstall......
  • 分享几个关于磁盘管理的shell脚本
    【真香系列】分享几个关于磁盘管理的shell脚本点击关注......
  • Shell编程——基础入门
    目录​​目录​​​Shell概述​​​Shell是什么​​​​Shell的分类​​​脚本执行方式​​​echo输出命令​​​​第一个脚本​​​Bash的基本功能​​​命令别名与快捷键......
  • linux grep shell相关
     ​​http://www.2cto.com/os/201307/224496.html​​​​http://wenda.so.com/q/1365651781067621​​grep​​http://blog.sina.com.cn/s/blog_406127500101dljv.html​......
  • adb shell
    adbshell查看设备adbdevicesListofdevicesattached5ecf5fbcdevice连接设备#单个设备adbshell#多个设备需要指定adb-s5ecf5fbcshell安装A......
  • 4.使用shell脚本查看系统资源利用率
    #!/bin/bashfunctionCPU(){  util=`vmstat|awk'{if(NR==3)print$13+$14}'`    iowait=`vmstat|awk'{if(NR==3)print$16}'`    echo"CPU使......
  • shell 使用jq解析json字符串数组
    echojson.txt|jq'.' 输出整个json字符串echojson.txt|jq'.[0]' 取出数组中第一个objectechojson.txt|jq'.[0].name' 取出数组第一个object中键为name的值......
  • Shell 把日志记录按天切割到不同的文件【转】
    #!/bin/bash#文件夹不存在,则创建,参数从$1开始createFolder(){if[!-d$1];thenmkdir-p$1#创建文件夹:-p递归创建文件夹chmod-R777......
  • 236. Lowest Common Ancestor of a Binary Tree
     给定一个二叉树和所要查找的两个节点,找到两个节点的最近公共父亲节点(LCA)。比如,节点5和1的LCA是3,节点5和4的LCA是5。classSolution{    publicTreeNodelowest......
  • Shell入门
    一、Shell是什么Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。......