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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM