shell中對檔案指定行的操作
阿新 • • 發佈:2019-01-05
shell中對檔案指定行的操作
1、awk1
awk 可以設定條件來輸出檔案中m行到n行中每行的指定的k欄位,使用格式如下
awk 'NR==m,NR==n {print $k}' path/filename
m,n,k表示實在的數值,其中k為0-9。如果要用變數來表示m,n的值,則變數需要用單引號將其引起來。
NR,{print }是awk命令在此用法下的規定欄位;path/filename表示讀取檔案的路徑及檔名。
當要讀取某一行的內容的k欄位時,使用格式如下
awk 'NR==m {print $k}' path/filename
m,k與以上的含義一致,分別表示要讀取的行數和當前行的第k欄位。
2、sed2
顯示某行
[[email protected]] # sed -n '1p' #顯示第一行
[[email protected]] # sed -n '$p' #顯示最後一行
[[email protected]] # sed -n '1,2p' #顯示第一行到第二行
[[email protected]] # sed -n '2,$p' #顯示第二行到最後一行
使用模式進行查詢
[[email protected]] # sed -n '/ruby/p' #查詢包括關鍵字ruby所在所有行
[ [email protected]] # sed -n '/\$/p' #查詢包括關鍵字$所在所有行,使用反斜線\遮蔽特殊含義
刪除指定行
[[email protected]] # sed '1d' #刪除第一行 [[email protected]] # sed '$d' #刪除最後一行 [[email protected]] # sed '1,2d' #刪除第一行到第二行 [[email protected]] # sed '2,$d' #刪除第二行到最後一行
awk詳細命令見:http://man.linuxde.net/awk ↩︎
sed詳細命令見:http://man.linuxde.net/sed ↩︎