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

原文地址:https://www.cnblogs.com/james6176/p/4276633.html