将当前目录的各子目录下的文件名前…

来源:互联网 发布:销售月数据分析表格 编辑:程序博客网 时间:2024/05/16 01:41
#!/bin/bash
#将当前目录的各子目录下的文件名前面分别加上子目录名。
#如  abc目录下的test1.txt,text2.txt ...  修改为  abc_test.txt abc_test2.txt...
#   def目录下的test1.txt,text2.txt ...  修改为  def_test.txt def_test2.txt ...

src_dir=`pwd`/

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
# ls -l . | grep ^- | awk '{print $9}' 输出当前目录下的普通文件,即ls-l权限以-开头
       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