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

来源:互联网 发布:电视网络机顶盒多少钱 编辑:程序博客网 时间:2024/06/06 10:55

如何将 多个目录下的文件 批量修改文件名 比如 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
0 0
原创粉丝点击