linux shell中怎样批量修改文件名为 文件夹_文件名

本文提供了一个使用bash脚本批量修改文件名的方法,能够针对不同目录下的文件进行统一前缀的添加,适用于需要批量处理文件命名场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何将 多个目录下的文件 批量修改文件名 比如 abc目录下的test1.txt,text2.txt ... 修改为 abc_test.txt abc_test2.txt ... def目录下的test1.txt,text2.txt ... 修改为 def_test.txt def_test2.txt ... ...... 

最佳答案
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env bash
 
src_dir=/srv/http/sh/exp1/
 
dir=`ls -1 $src_dir`
 
for dir_name in `ls -1 $src_dir`;
do
    if [ -d $src_dir$dir_name ]
    then
        #echo $src_dir$dir_name
        for file_name in `ls -l $src_dir$dir_name | grep ^- | awk '{print $9}'`;
        do
            mv $src_dir$dir_name"/"$file_name $src_dir$dir_name"/"$dir_name"_"$file_name
        done
    fi
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值