sed行定位的使用
阿新 • • 發佈:2019-02-13
sed -n '2'p file
#只打印第1行,不列印其它的行
sed -n '1,4'p file
#從第1行開始到第4行的記錄
sed -n '/los/'p file
#列印匹配los的行
sed -n '4,/los/'p file
#列印從第4行到匹配los之間的所有行
sed '1,2'd file
#把第一行和第二行全部刪除(意思是檢視其他行的資料,並沒有真實刪除原始檔)
練習
準備檔案:vi file
aaa
bbb
ccc
ddd
eee
fff
hhh
使用nl file
檢視檔案
1 aaa 2 bbb 3 ccc 4 ddd 5 eee 6 fff 7 hhh
檢視第5行:
cat file | sed -n '5'p
#p是列印的意思
結果如下:
eee
檢視第3行到第6行:
cat file | sed -n '3,6'p
結果如下:
ccc
ddd
eee
fff
檢視所有,但不包括第3行到第6行(就是刪除3-6行的資料):
cat file | sed '3,6'd
結果如下:
aaa
bbb
hhh
統計檔案有多少行:
cat file | wc -l
結果如下:
7
檢視包含字串h
的:
cat file | sed -n '/h/'p
結果如下:
hhh
檢視包含字串f
cat file | sed -n '/f/,$'p
結果如下:
fff
hhh
甚至可以檢視df
命令結果的第3行第5列的資料:
df | sed -n '3'p | awk '{print $5}'
把結果轉整型:
df | sed -n '3'p | awk '{print int($5)}'