- 論壇徽章:
- 3
|
本帖最后由 jeffreyst 于 2014-04-24 09:53 編輯
在sed1line,其中有這么個語句:
cat 1 | sed -e ':a; $q; N; 11,$D; ba'
實現(xiàn)的是打印文件1的最后10行,有點不太明白,那位幫忙解釋下,多謝了
我的問題好像出現(xiàn)在對11,$的理解上,有點想不明白
語句的其他部分倒是差不多能理解:
:a和ba實現(xiàn)的循環(huán)跳轉
$q是本語句結束的位置,即到最后一行就退出
N是將下一行讀入到模式空間
D是刪除模式空間的第一行
這個語句的思路應該是:
將文本讀入到模式空間,然后使用D命令從模式空間第一行刪除,直到模式空間中剩余10條記錄為止,
而這十條記錄就是文本的最后10行,
但是我怎么想也不能把“這個判斷模式空間中剩余10條記錄”和語句中的“11,$”對應起來...
不知道是那里沒有理解好,大神們幫忙解釋下,多謝了
cat 1
1 wUpJ]FJNXFvEKKjawwmf
2 om[gRnfCwnvldECbxmiY
3 LZPPWevShruDDqbAT[JY
4 MRaZQzMA]oUILrSYz[vN
5 jblLcjWOBwHATnjnDAWm
6 YcMNSabyWfMsxkWaHrYb
7 ZhOHMnnDINNtNdFZnlxl
8 PZOrNVRKneDkcEMdCSJc
9 Ybs[bUCwxAyUCUgLLNpt
10 IzcfHwzQHqzGVZgYCbEI
11 hIfDMkiALodmuUfVqWqi
12 zFizeIzSfMfAJtIngbhw
13 QSu[EJ]YompBLlKOxxrI
14 paIQOBUGXhgQZBgoSPww
15 FVEkqnuBHBicxmOGnf]O
|
|