1. tail -n 1 file
2. tail -1 filename
3. sed -n '$p' filename
4. awk 'END {print}' file
如果想顯示文本的某一行,比如說第五行:
awk '{ if(NR==5)print}' file
斑竹:假設一變量LineNo=5
awk '{ if(NR==$LineNo)print}' file怎麼不行呀?
錯誤提示:awk: illegal field $()
awk "{ if(NR==$LineNo)print}" file 就可以了!
你說的是awk中引用shell環境變量的問題.
也可以用 "'$LineNO'"
awk 'END{print}' file 好像有點問題, 你是在所有記錄處理完後再執行print這樣只能
打出一空行。可以用 awk '{ t=$0 } END { print t} }
這個顯示結果是因不同版本的awk不同而不同的。從理論上講,END在最後一行處理完運行,
但這時一些版本的awk仍然可以把最後一行輸出來。(如sco openserver,bash下的awk)。
你的方法更准確一些,通用性也更強一些。
今天在學習的時候,在END中打印了NR,和FNR相同
head 頭幾行
tail 尾幾行