獲取文字的第a~b行文字

OrangeCat_發表於2018-11-07

簡介


有的時候我們需要在獲取的文字輸出中抽取感興趣的幾行資料,這個時候就可以藉助sed命令來很快捷的去實現

 

例子 


我們需要統計一下hadoop的檔案系統每個目錄所佔用的大小,可以藉助如下命令來顯示

hadoop fs -du /

輸出如下

Found 13 items
drwxr-xr-x   2 xxx      xxx         0 2018-11-07 12:10 /dir1
drwxr-xr-x   2 xxx      xxx         0 2018-11-07 11:04 /dir2
drwxr-xr-x   2 xxx      xxx         0 2018-08-14 15:20 /dir3
drwxr-xr-x   2 xxx      xxx         0 2018-08-14 15:50 /dir4
drwxr-xr-x   2 xxx      xxx         0 2018-08-29 15:43 /dir5
drwxr-xr-x   2 xxx      xxx         0 2018-11-02 19:15 /dir6
drwxr-xr-x   2 xxx      xxx         0 2018-09-03 14:50 /dir7
drwxr-xr-x   2 xxx      xxx         0 2018-08-21 15:45 /dir8
drwxr-xr-x   2 xxx      xxx         0 2018-08-14 15:44 /dir9
drwxr-xr-x   2 xxx      xxx         0 2018-11-07 12:01 /dir10
drwxrwx---   2 xxx      xxx         0 2018-09-30 09:10 /dir11
drwxr-xr-x   2 xxx      xxx         0 2018-08-14 16:31 /dir12
-rw-r--r--   3 xxx      xxx         0 2014-10-20 11:42 /dir13

很明顯,第1行的內容不是我所需要的,因此利用sed命令進行一個行過濾的作用,該行命令的作用是輸出第2行到最後一行的內容。

hadoop fs -ls / | sed -n '2,$p'

如果,只需要第2行到第5行的內容,則可以使用如下命令

hadoop fs -ls / | sed -n '2,5p'

 

相關文章