shell 命令讀文件行

  • 源文件內容
文件名 文件內容
file2_part.txt name5 data15 dada16
name3 data9 dada10 data11 dada12
  • for命令讀取的行結果被空格符分開了
root@ae02635267dc:/workspace/autohome/test/shell/awk# for line in `cat file2_part.txt`;do echo $line;done;
name5
data15
dada16
name3
data9
dada10
data11
dada12
  • while命令
root@ae02635267dc:/workspace/autohome/test/shell/awk# while read line; do echo $line;done <file2_part.txt 
name5 data15 dada16
name3 data9 dada10 data11 dada12
  • 應用場景:以文件B的行爲待查找內容,然後從A文件中搜索指定數量的內容 
while read line; do grep "$line" $A.txt|shuf|head -n 5;done <$B.txt >>rst.txt

參考文獻:

  1. 'for LINE in $(cat file)' breaking at spaces, not just newlines

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章