shell递归遍历目录中的所有文件、文件夹
因为需求的变化,线上资源需要批量更新,现在将遍历目录中的文件及文件夹的方法记录一下,免得忘记。
知识点
- $( ls - l )
- 执行命令,获取命令行结果
- ${val}
- 使用之前的变量,等同于 $val ,花括号只是起到告知解释器变量边界的作用
- $1
- 参数传递
#!/bin/bash
# ====================================================
# Copyright (C)2020 All rights reserved.
#
# Author :
# Email : xxx@gmail.com
# File Name : traverse.sh
# Last Modified : 2020-06-04 14:17
# Description :
#
# ====================================================function lm_traverse_dir(){#for file in $(ls $1) #与下面一行等价for file in `ls $1` #注意两个反引号,获取命令执行的结果doif [ -d $1"/"$file ] #"-d" 判断是否为目录,注意此处之间一定要加上空格,否则会报错thenlm_traverse_dir $1"/"$file #遍历子目录else # 可以在这里处理文件,比如改名、删除等effect_name=$1"/"$file #注意"="前后不要留空格echo $effect_name #输出文件名 rm -rf $effect_namemv $effect_name "new_name"fidone
} # 执行命令
lm_traverse_dir $1
Reference:
- Shell 基本运算符
- Shell 传递参数
- Shell 中的中括号用法总结
shell递归遍历目录中的所有文件、文件夹相关推荐
- linux sed 目录递归,shell递归遍历目录下的所有文件并统一改名的方法-文件更名...
对Linux开发技术感兴趣或者是从事Linux开发技术的小伙伴是否知道如何把某个目录下的每个文件统一在名字前加上"abc",用shell实现呢?下面就随Linux培训小编来了解一下 ...
- Linux shell递归遍历目录
Linux shell递归遍历目录 Linux上可以通过如下shell脚本遍历指定目录: #!/bin/bashfunction list_file() {local last_dir=$(pwd)i ...
- dos递归遍历目录删log
windows 版的 [1],递归删非空文件夹,同时打印目录树(不用 tree 命令) 函数定义.传参见 [4,5] :<函数名> 开始(其实是行号?),goto:eof 结束(其实只是 ...
- linux脚本遍历目录,shell脚本递归遍历目录及子目录的例子分享
用shell写的递归遍历目录的脚本,脚本实现递归遍历指定目录,打印目录下的文件名. 实例1: 复制代码 代码如下: #!/bin/sh function scandir() { local cur_d ...
- go errgroup 递归搜索目录中的Go文件
为了测试sync.ErrGroup的所有功能,我写了一个小程序,用一个指定的模式递归搜索目录中的Go文件.这有助于在Go源代码树中查找已使用已弃用或更新的包的实例.要测试sync.ErrGroup的所 ...
- java 递归 遍历目录下的所有文件
public class Demo{static int level;public static void main(String[] args) throws IOException {//利用递归 ...
- 递归 遍历目录下的所有文件
public class Demo{static int level;public static void main(String[] args) throws IOException {//利用递归 ...
- 如何获取Node.js目录中存在的所有文件的名称列表?
本文翻译自:How do you get a list of the names of all files present in a directory in Node.js? I'm trying ...
- 计算机目录读取,从项目目录中读取SQL查询文件(Read SQL query file from project directory)...
从项目目录中读取SQL查询文件(Read SQL query file from project directory) 我在Visual Studio项目中放置了3个特别大的SQL查询,位于项目目录中 ...
最新文章
- 一个低级错误,关于timer
- oracle分区list,Oracle 分区表中存在range-list表分区时遇到问题及解决办法
- 002 辅助框架的设计
- DOS状态下可以安装Win XP
- 前端:CSS/10/伪类选择器,CSS列表属性,CSS边框属性,CSS内边距属性,CSS背景属性
- 2、Shiro的认证
- Android模拟器的换肤和Android学习资料下载
- zabbix 2.2节点批量安装
- 威胁情报工具:更快?更聪明?
- 简单登录页面html代码
- Java IO _打印流
- 伍德里奇计量经济学导论pdf_伍德里奇 计量经济学导论(第六版) 第3章
- 抽象工厂模式,加工出不可思议的产品!
- 学术日记#学术道德与人文素养
- 计算机青岛科技大学济南大学,山东考生在山东理工,济大,山东科技和青岛科技中该如何选择?...
- MQTT在线公共的MQTT服务器
- “泰迪杯”挑战赛 - 通过数据挖掘技术实现道路缺陷自动识别
- Instruments
- 转载:软件天才与技术民工
- android 开关机动画