shell遍历多个文件夹并进行批量修改文件名

问题:将图片名中的ing_变为0。

当前目录下:$ ls

pic,change_name.sh

pic/

|__kk1/

|__img_001.jpg

|__img_002.jpg

|__vv2/

|__img_005.jpg

|__abc_002.jpg

解决:

在change_name.sh中写入如下内容:

#!/usr/bin/env sh
cd pic
DIR=`ls .`
for dir in ${DIR};do

  fi [ -d ${dir}];then

    cd $dir
    rename ‘s/img_/0/‘ *.jpg
    cd ..
  fi
done

运行:sh change_name.sh

结果:

pic/

|__kk1/

|__0001.jpg

|__0002.jpg

|__vv2/

|__0005.jpg

|__abc_002.jpg

时间: 2024-12-28 11:27:50

shell遍历多个文件夹并进行批量修改文件名的相关文章

shell命令查看某文件夹下的文件个数

shell命令查看某文件夹下的文件个数 2010-06-25 17:05:15|  分类: shell |字号 订阅 1.查看某文件夹下文件的个数: ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 2.查看某文件夹下文件的个数,包括子文件夹里的: ls -lR|grep "^-"|wc -l 3.查看某文件夹下文件夹的个数,包括子文件夹里的: ls -lR|grep "^d"|wc

matlab遍历文件夹下所有图片和遍历所有子文件夹下图片

做图像处理实验,经常需要遍历当前文件下所有图片.matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的.函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体就可以达到访问所有文件的目的了.具体实现见下面程序: imgPath = 'E:/imageData/'; % 图像库路径imgDir = dir([imgPath '*.jpg']); % 遍历所有jpg格式文件for i = 1:length(imgDir) % 遍历结构体就可以一一处理图片了 img = imre

定时删除文件夹"$1"下最后修改时间大于当前时间"$2"天的文件

shell 脚本: #!/bin/bash now=`date "+%Y-%m-%d_%H:%M:%S"`      #获取当前时间 echo "当前时间: "$now now=`date +%s`            #获取当前时间戳   单位:秒 echo "当前时间戳: "$now function getdir(){          #遍历文件夹和文件夹下所有的文件 #    echo "删除文件夹"$1"

VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)

'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0'' NAME: '' AUTHOR: Microsoft , Microsoft' DATE : 2014/7/9'' COMMENT: '批量修改文件夹下对应的所有文件名''==========

命令行修改文件文件夹访问权限 cacls, 修改hosts内容方法

背景 日常使用Windows的过程中,hosts(C:\Windows\System32\drivers\etc)文件可能被一些程序串改,因此在网上找到禁止/允许修改hosts文件的bat脚本,但是在使用过程中有遇到了新的麻烦,特记录下相关问题的解决方法. 禁止/允许修改hosts文件的bat脚本 Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库",当用户在浏览器中输入一个需要登录的网址时,系统会首先自动

windows10用powershell修改文档/文件夹创建时间、修改时间、访问时间

参考博文:windows用powershell修改文档/文件夹创建时间.修改时间 用win10自带的powershell可以轻松修改文档/文件夹创建时间.修改时间.而且可以批量修改. 1. 步骤: 新建一个bat文件,在其中添加语句: @ECHO OFF powershell.exe -command "ls 'folder_path\*.dll' | foreach-object { $_.LastWriteTime = Get-Date; $_.CreationTime = Get-Date

shell脚本:批量修改文件名(删除文件名中字符)

shell脚本:批量修改文件名(文件名中添加字符) 上一篇写过批量修改文件名(文件名中添加字符),工作中还存在这样的需求,批量修改文件名,删除文件名中的某些字符: 举例如下:批量改名,删除文件名中多余字符 目录下文件名为如下,要求去掉_finished. stu_102999_1_finished.jpg stu_102999_2_finished.jpg stu_102999_3_finished.jpg stu_102999_4_finished.jpg stu_102999_5_finis

使用Java中File类批量创建文件和批量修改文件名

批量创建文件 1 int cont = 1; 2 String s = "E:\\学习资料\\Java笔记-"; 3 while(cont<100){ 4 File f = new File(s+cont+".txt"); 5 if(!f.exists()){ 6 f.createNewFile(); 7 } 8 cont++; 9 } 批量修改文件名 1 File file = new File("E:\\学习资料"); 2 String

PHP遍历、删除文件夹中的所有文件

1 <?php 2 header("Content-type:text/html;charset=utf-8"); 3 4 /** 5 * getDirFile 遍历文件夹中的所有文件 6 * @param $path 7 */ 8 function getDirFile($path){ 9 //判断是否是文件夹 10 if(is_dir($path)){ 11 //判断是否打开成功 12 if($handle = opendir($path)){ 13 14 //读取文件 15