[問題] grep只顯示最一行的匹配

看板Linux作者 (電資雙雄)時間9年前 (2016/06/15 15:08), 編輯推噓7(7011)
留言18則, 10人參與, 最新討論串1/1
最近在用grep過濾檔案內容 我下關鍵字 grep "THR_W" output.txt 以下輸出 THR_W 112.80 5613 THR_W 112.90 2358 THR_W 113.00 2588 THR_W 113.10 3827 THR_W 113.20 1195 THR_W 113.30 1512 THR_W 113.40 2471 THR_W 113.50 2269 THR_W 113.60 2050 THR_W 113.70 1758 THR_W 113.80 2592 THR_W 113.90 1513 THR_W 114.00 2042 THR_W 114.10 1411 THR_W 114.20 934 找到這麼多筆匹配 但是今天我只想印出最後一行 THR_W 114.20 934 不知道要多下哪個參數可以只顯是批配的最後一行 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.117.164.19 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1465974526.A.43A.html

06/15 15:14, , 1F
|tail -n 1
06/15 15:14, 1F

06/15 15:49, , 2F
太神啦樓上
06/15 15:49, 2F

06/15 18:51, , 3F
不是 tail -1 就好了嗎?
06/15 18:51, 3F

06/15 20:16, , 4F
是沒錯,好奇這個寫法嗎來的? man page 沒看到。
06/15 20:16, 4F

06/15 20:30, , 5F
因為tail是不同的tool
06/15 20:30, 5F

06/15 21:04, , 6F
tail -1 這用法過時很舊了,在目前新的 linux 上面 被
06/15 21:04, 6F

06/15 21:05, , 7F
當做錯誤,儘量要使用以 -n 後面傳入數字比較ok
06/15 21:05, 7F

06/16 00:44, , 8F
推樓上
06/16 00:44, 8F

06/16 01:23, , 9F
tail -n後面空格加行數是正確的作法沒錯。
06/16 01:23, 9F

06/16 09:13, , 10F
>>在目前新的 linux 上面 有嗎? CentOS7還行啊
06/16 09:13, 10F

06/16 09:20, , 11F
fedora表示:有我新嗎?
06/16 09:20, 11F

06/16 11:23, , 12F
手上維護的 Linux 最新的是 RHEL 5.8 @@ (飄走...)
06/16 11:23, 12F

06/16 16:18, , 13F
POSIX 標準在 2005 的時候改掉數字參數的限制了
06/16 16:18, 13F

06/16 16:18, , 14F
所以 2006 起的 coreutils 又可以 tail -1 / head -1 了
06/16 16:18, 14F

06/16 16:23, , 15F
故會跳出錯誤的也是過時的版本喔
06/16 16:23, 15F

06/16 16:49, , 16F
還真是有趣的一段過程。不過也已經讓我養成 -n 參數
06/16 16:49, 16F

06/16 16:51, , 17F
不過 tail -n +10 這部分就得用 -n, 無法用 tail +10
06/16 16:51, 17F

06/16 16:56, , 18F
除非 export _POSIX2_VERSION=199209 指定相容舊的語法
06/16 16:56, 18F
文章代碼(AID): #1NOFx-Gw (Linux)