我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Shell实现批量操作文件的方法详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Shell实现批量操作文件的方法详解

目录
  • 1.文件夹结构
  • 2.查找某文件夹下指定文件所在的路径
  • 3.批量删除某个文件夹下的指定文件
  • 4.批量重命名某文件夹下指定的文件名
  • 5.批量将某文件夹下指定文件移至上级目录

1.文件夹结构

准备如下文件夹

如E:\Code\Shell有如下文件夹结构,有3个相同文件test.txt

Shell实现批量操作文件的方法详解

2.查找某文件夹下指定文件所在的路径

find可以查找某个目录下的指定文件(或目录)所在的路径

find 目录名 -name 文件名
# 查找Shell文件夹下test.txt所在路径
find Shell -name test.txt

执行结果:

Shell/a/test/test.txt
Shell/b/test/test.txt
Shell/c/test/test.txt

如果不指定目录名,则是查找当前文件夹下的文件

# 查找当前文件夹下的test.txt所在路径
find -name test.txt

执行结果:

./Shell/a/test/test.txt
./Shell/b/test/test.txt
./Shell/c/test/test.txt

3.批量删除某个文件夹下的指定文件

删除某个目录下的指定文件(或目录)

find 目录名 -name 文件名 |xargs rm -rf
# 删除Shell文件夹下所有test.txt
find Shell -name test.txt |xargs rm -rf

删除test.txt后的文件夹结构如下

Shell实现批量操作文件的方法详解

4.批量重命名某文件夹下指定的文件名

编写脚本BATch_rename_file.sh,内容如下:

# 批量重命名指定文件夹下的文件名或目录名
oldFileName="test.txt" # 原文件名
newFileName="case.txt" # 新文件名
targetFolder="Shell" # 指定文件夹名

for filePath in  `find $targetFolder -name $oldFileName`
do
    dirPath=`dirname $filePath` # 文件所在目录
    mv $filePath $dirPath/$newFileName
    echo "$filePath -> $dirPath/$newFileName"
done

执行脚本,结果如下:

Shell/a/test/test.txt -> Shell/a/test/case.txt
Shell/b/test/test.txt -> Shell/b/test/case.txt
Shell/c/test/test.txt -> Shell/c/test/case.txt

重命名test.txt后的文件夹结构如下:

Shell实现批量操作文件的方法详解

5.批量将某文件夹下指定文件移至上级目录

编写脚本mv_file_to_upperlevel.sh,内容如下:

# 批量将指定文件夹下的文件或目录,移至上级目录
fileName="test.txt" # 文件名
targetFolder="Shell" # 指定文件夹名

for filePath in  `find $targetFolder -name $fileName`
do
    upperLevelDir=`dirname $(dirname $filePath)` # 上级目录
    mv $filePath $upperLevelDir
    echo "$filePath -> $upperLevelDir/$fileName"
done

执行脚本,结果如下:

Shell/a/test/test.txt -> Shell/a/test.txt
Shell/b/test/test.txt -> Shell/b/test.txt
Shell/c/test/test.txt -> Shell/c/test.txt

移动test.txt至上级目录后的文件夹结构如下:

Shell实现批量操作文件的方法详解

到此这篇关于Shell实现批量操作文件的方法详解的文章就介绍到这了,更多相关Shell批量操作文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Shell实现批量操作文件的方法详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

实现 Python 批量文件操作的五种方式

Python 提供了多种方法来批量操作文件,无论是重命名、移动还是修改文件内容。本文将详细介绍五种常用的方法,并通过实际代码示例展示如何使用它们。

Elasticsearch文档批量操作的方法

本篇内容介绍了“Elasticsearch文档批量操作的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Elasticsearch的文档操
2023-06-30

Python 批量操作设备的实现方法

这篇文章主要讲解了“Python 批量操作设备的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python 批量操作设备的实现方法”吧!目录背景需求- 方案一- 方案二方案三准备工作
2023-06-20

linux rename 批量修改文件名的操作方法

目录1. rename 重命名2. 基本用法3. 添加后缀4. 批量删掉后缀5. 添加前缀6. 删除前缀扩展:linux shell的re编程客栈name的用法C语言版本的格式:perl版本的样式:关于linux shell的rename的
2023-02-21

linux rename 批量修改文件名的操作方法

这篇文章主要介绍了linux rename 批量修改文件名的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-02-21

linux中批量添加文件前缀的操作方法

需要在文件夹内所有txt文件的文件名前面添加"gt_"; 就是由原来的文件“xxx.txt”变成“gt_xxx.txt”: 网上搜来的脚本如下:for i in `ls`; do mv -f $i 'echo "gt_"$i`; d
2022-06-04

JS实现单个或多个文件批量下载的方法详解

在前端Web开发中,下载文件是一个很常见的需求。这篇文章就来和大家介绍下几种download解决方案,以及特殊Case的最佳方案选择,希望对大家有所帮助
2023-02-28

C#操作INI文件的方法详解

INI文件全称是InitializationFile的缩写,即初始化文件,是windows系统的系统配置文件所采用的存储格式,统管windows的各项配置。本文介绍了C#操作INI文件的方法,需要的可以参考一下
2022-11-13

Python批量更改文件名的实现方法

Python批量更改文件名的实现方法 前言: 由于后台数据有好多,但是文案提供过来的图片命名全部没有按照格式来命名,Python这么强大的语言,肯定是能够处理这个问题的,于是我就写了一个小脚本批量改文件名。 版本相关 操作系统:Mac O
2022-06-05

C#实现XML文件操作详解

这篇文章主要为大家详细介绍了如何利用C#实现XML操作文件,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
2022-12-23

详解Shell 命令行批量处理图片文件名的实例

Shell 命令行批量处理图片文件名 前言: 从网上下载了一堆图片,有的是*.jpg的,有的是*.jpeg的。并且文件名有长有短,很是糟心。因此,我想把这些文件给全部整理好,当然是用shell来处理啦! 说干就干。 循环所有文件 首先,我把
2022-06-04

Shell脚本批量重命名文件后缀的3种实现方法介绍

本篇内容主要讲解“Shell脚本批量重命名文件后缀的3种实现方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell脚本批量重命名文件后缀的3种实现方法介绍”吧!需求:家目录下有一些sq
2023-06-09

C#实现Oracle批量写入数据的方法详解

往数据库批量写入数据,这个功能使用频率相对还是比较高的,特别是在做一些导入等功能的时候。本文为大家介绍了C#实现Oracle批量写入数据的方法,需要的可以参考一下
2022-11-13

编程热搜

目录