登录
首页 >  科技周边 >  人工智能

Shell批量操作文件的具体技巧

时间:2025-04-18 10:54:27 406浏览 收藏

最近发现不少小伙伴都对科技周边很感兴趣,所以今天继续给大家介绍科技周边相关的知识,本文《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批量操作文件的内容,请查阅我们之前的文章或继续浏览下面的相关文章。希望大家继续支持我们!

今天带大家了解了的相关知识,希望对你有所帮助;关于科技周边的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>