grep,sed,awk三剣客(復習)

2710 ワード

grepは強力なテキスト検索ツールで、正規表現を使用してテキストを検索し、一致する行を印刷するオプションです.
-a :  binary     text          
-c :     '     '    
-i :        ,         
-n :      
-v :    ,        '     '       !
-s:       
-w:        
-o:         

sed sedは、1行のコンテンツを一度に処理するオンラインエディタです.処理時には、現在処理する行を一時バッファに格納し、「モードスペース」(pattern space)と呼ばれ、次にsedコマンドでバッファ内のコンテンツを処理し、処理が完了したら、バッファの内容を画面に送ります.次に、ファイルの最後まで次の行を処理します.ファイルの内容はリダイレクトストレージ出力を使用しない限り変更されません.オプション:
-n∶    (silent)  。
-e∶            sed      ;
-f∶    sed           ,-f filename      filename   sed   ;
-r∶sed                   。
-i∶           ,        。

コマンド:
a \"string":           ,   string    a 
ewline i \"string": , string i
ewline d: i p: c: s: h: 。 g: , 。 q: Sed r file: w file: =: n: ,

置換:
g:        。  
p:     。  
w:          。  
x:                   。  
y:               (          )
\1:      
&:        

awkはsedに比べて常に1行全体の処理に作用し,awkは1行に数個の『フィールド』に分けて処理する傾向にある.従って、awkは小型のデータデータ処理の動作原理を処理するのにかなり適している:第一歩:BEGIN{commands}文ブロックの文を実行する;ステップ2:ファイルまたは標準入力(stdin)から1行を読み出し、pattern{commands}文ブロックを実行します.ファイルがすべて読み込まれるまで、1行目から最後の行までファイルを1行ずつスキャンします.ステップ3:入力ストリームの最後に読み出されると、END{commands}文ブロックが実行されます.スクリプト構造:awk'BEGIN{print"start"}pattern{command}END{print"end"}'file(ファイル)オプション:
-F:              
-v:var=value:     
-f:      awk  

内蔵変数;
$n       n   ,  n 1       ,n 2       。
$0                    。
FNR  NR,        。
FS      (       )
NF      ,               
NR      ,              
OFS        (        )
RS      (        )
ORS        (         )

制御文:if文
awk -F: '{if($1~/mail/) print $1}' /etc/passwd (  )                                  
awk -F: '{if($1~/mail/) {print $1}}'  /etc/passwd (  )                                
awk -F: '{if($1~/mail/) {print $1} else {print $2}}'/etc/passwd  (if...else...)

while文
awk -F: 'BEGIN{i=1} {while(i

for文
awk '{for(i=1;i<=NF;i++){print $i}}' /etc/password

awk文のフォーマット出力オプション:
%c:  ASCII 
%d:       
%e:     
%f:   
%s:     
%u:       
%%:  %  

awk文の組み込み関数
rand():0 1      
length():     
split($0,A,":"):  String                A[1], A[2], . . ., A[n],    n     
substr(s,p):     s  p       
substr(s,p,n):     s  p     n