当前位置: 首页 > news >正文

做鞋原料网站网店推广

做鞋原料网站,网店推广,网站分类目录大全,上海网站设计服务商文章目录 使用ls实现tree使用find实现tree 使用ls实现tree 实现思路 使用ls -F 打印文件类型,如果是目录后面跟/,如果是可执行文件后面跟*;使用grep -v /$ 筛选文件排除目录,-v为反向筛选;使用grep /$ 仅筛选目录&am…

文章目录

  • 使用ls实现tree
  • 使用find实现tree

使用ls实现tree

实现思路

  1. 使用ls -F 打印文件类型,如果是目录后面跟/,如果是可执行文件后面跟*;
  2. 使用grep -v /$ 筛选文件排除目录,-v为反向筛选;
  3. 使用grep /$ 仅筛选目录;
  4. ${files[@]} 是获取数组的全部元素;
  5. 获取文件直接打印,获取目录后,打印目录,拼接父目录给当前目录(因为shell执行总是在当前目录,如果只传目录,会报错找不到目录),然后递归打印。
    代码如下:
#!/bin/bash
# 将shell默认的三种分隔符中的空格分隔符剔除,解决文件名有空格情况下的问题
IFS=$'\t\n'# 函数:递归地打印目录内容
print_tree() {local indent=$1local dir=$2local files=($(ls -F $dir | grep -v /$))local dirs=($(ls -F $dir | grep  /$))# 打印当前目录的文件for file in "${files[@]}"; doecho "${indent}${file}"done# 递归打印目录for subdir in "${dirs[@]}"; doecho "${indent}${subdir}"subdir="${dir}/${subdir}"print_tree "|……${indent}" ${subdir}done
}# 从当前目录开始打印树状图
print_tree "" "."

测试一下,输出如下:

a/
|……b/
|……|……c/
|……|……d/
|……|……f/
|……c/
|……|……f/
|……|……|……test*
|……|……|……tt.txt

当然这种方法虽然简单,但是文件是可执行文件,那么在文件名后会跟一个*,风格不统一,下面再介绍一种打印方式。

使用find实现tree

实现思路:
find 命令加参数-type f 可以仅查找文件排除掉目录,但是查出来的文件带父目录,maxdepth可以指定查找深度,1表示只在本层目录中查找;
basename 命令可以删除指定结尾的后缀,也能打印除了/的最后一部分字符。比如basename /usr/local/Centos输出结果为Centos,但是如果目录名有空格就不会得到预期的效果;
tr 命令可以替换字符,比如可以将目录名中的空格替换为/,使得basename可以得到预期效果;
代码如下:

#!/bin/bash
IFS=$'\t\n'
# 函数:递归地打印目录内容
print_tree() {local indent=$1local dir=$2local files=($(find $dir -maxdepth 1 -type f ))local dirs=($(find $dir -maxdepth 1 -type d))if [ "${#dirs[@]}" -gt "0" ];thenunset dirs[0]fi# 打印当前目录的文件for file in "${files[@]}"; doecho "${indent}$(basename $(echo $file | tr ' ' '\'))"done# 递归打印目录for subdir in "${dirs[@]}"; doecho "${indent}$(basename $(echo $subdir | tr ' ' '\ '))"print_tree "|……${indent}" ${subdir}done
}# 从当前目录开始打印树状图
print_tree "" "."

测试一下,输出如下:

a
|……c
|……|……f
|……|……|……test
|……|……|……tt.txt
|……b
|……|……f
|……|……c
|……|……d

快一起试试吧~

http://www.wangmingla.cn/news/72976.html

相关文章:

  • 黄石手机网站建设推广代理公司
  • wordpress更换主题白屏seo要点
  • 如何制作网站新手教程nba最新排名榜
  • 电商自建站推广吧
  • 做网站买什么品牌笔记本好seo外包服务方案
  • 建网站电话seo网站优化优化排名
  • 网站商城怎么做app百度提交入口地址在哪
  • 苏州的建筑公司网站域名备案查询
  • 国内简洁网站成都全网推广哪家专业
  • web网站开发环境长沙专业seo优化推荐
  • 洛阳网站建设 培训企业网站制作方案
  • 网站开发需要什么配置的电脑合肥网络公司排名
  • 吉林省城乡建设官方网站百度网址安全中心
  • wordpress 好用吗惠州百度关键词优化
  • 妈妈在家里做女视频网站头条搜索
  • 华大基因 网站建设网页设计基础
  • 全国做膏药的网站有多少家呢安卓优化大师下载安装
  • 一些免费的网站网页优化方案
  • 新疆建设兵团组织部网站北京出大大事了
  • 如何为旅游网站店铺做推广营销windows优化大师可以卸载吗
  • 深圳网站建站建设公司地址核心关键词是什么意思
  • 做网站可以用什么语言百度手机下载安装
  • 基于p2p的网站建设软文广告例子
  • 肇庆企业网站建设seo专员很难吗
  • 各大企业邮箱win7优化配置的方法
  • 免费网站建设网站开发公司上海seo优化公司bwyseo
  • 嘉兴做网站优化的公司苏州网站优化排名推广
  • 品牌建设的内容有哪些怎么快速优化关键词
  • 银川市做网站的公司百度app官方正式版
  • 扫码支付个人商城网站开发免费百度seo优化教程免费