关闭

bash 遍历目录下文件

86人阅读 评论(0) 收藏 举报

转载:http://blog.chinaunix.net/uid-20622737-id-3827990.html


点击(此处)折叠或打开

  1. #!/bin/bash

  2. #1.变量定义
  3. directory="/server/www"

  4. #2.遍历子目录
  5. for file in `ls $directory`
  6. do
  7.         if [ -d $directory/$file ]
  8.         then
  9.                 echo $file is dir
  10.         else
  11.                 echo $file is file
  12.         fi
  13. done


需求

遍历指定根目录下的所有文件,进行文件编码的转换

技巧

1.bash shell中for循环的使用
2.iconv字符编码转换工具的使用



点击(此处)折叠或打开

  1. #!/bin/bash

  2. #1.变量定义
  3. directory="/home/wzy/Downloads/execl"
  4. f_encoding="utf-8"
  5. t_encoding="gbk"

  6. #2.遍历子目录
  7. for dir in `ls $directory`
  8. do
  9.     if [ -d $directory/$dir ]
  10.     then
  11.         #3.遍历子目录的文件
  12.         for file in `ls $directory/$dir`
  13.         do
  14.             if [ -e $directory/$dir/$file ]
  15.             then
  16.                 #4.文件类型转换
  17.                 iconv -f $f_encoding -t $t_encoding $directory/$dir/$file -o $directory/$dir/iconv.$file
  18.                 #5.删除原始文件
  19.                 if [ $? -eq 0 ]
  20.                 then
  21.                     rm $directory/$dir/$file
  22.                 fi
  23.             fi
  24.         done
  25.     fi
  26. done



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8984次
    • 积分:146
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:12篇
    • 译文:0篇
    • 评论:0条
    文章分类