Shell遍历文件的每一行
由于使用for来读入文件里的行时,会自动把空格和换行符作为一样分隔符,因为当行里有空格的时候,输出的结果会很乱,所以……
cat input.txt |while read line
> do
> echo $line
> done
或者:
while read line
> do
> echo $line
> done < input.txt
再举个实际点的例子(把所有目录权限修改为755,所有文件为644):
# find ./ -type f>filelist
# find ./ -type d>dirlist
# cat dirlist |while read i; do chmod 755 "${i}"; done
# cat filelist |while read i; do chmod 644 "${i}"; done
转载自:http://www.hao32.com/unix-linux/338.html