程序人生

莫等闲,白了少年头,空悲切!

bash 遍历目录下文件

转载: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



阅读更多
上一篇shell下时间日期的加减乘除运算
下一篇vi替换^M字符
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭