Linux AWK 和 SED

sed編輯器 較傾向於行處理linux

命令格式:正則表達式

sed -[i|n|e] '行號,行號{command1;command2};/正則表達式/,/正則表達式/{comand3;};行號{comand4;command5};/正則表達式/{command6}' file
編輯器

-i 直接修改文件字符串

-n 只輸出有影響的行it

-e 多命令awk

p  打印匹配行
sed

d  刪除匹配行
file

s/正則表達式/字符串/g;   替換行內全部匹配到的串  s/正則表達式/&字符串/g; 將字符串拼接在行內全部匹配到的字符串後command

s/正則表達式/字符串/;  替換行內第一個匹配到的串 s/正則表達式/&字符串/; 將字符串拼接在行內第一個匹配到的字符串後d3

n 匹配行的下行

i  在匹配行前插入

a 在匹配行後添加

c 替換匹配行

w 將匹配行寫入文件

r 將匹配行處讀取文件


AWK linux 文本字段處理利器,相較於sed更傾向於在行內字段處理方面的能力。

通用命令格式:

awk -[F|f|v]  'BEGIN{}/正則表達式/{comand1;comand2};/正則表達式/{comand3;comand4}END{}' [OFS|ORS]="" file 

流程:if ; while;for;continue;break;同C語言

              exit 跳到 END命令塊。next 表示跳過當前行,繼續處理下行

正則表達式:

            *   0到任意個字符

            +    1個到任意個字符

            ?     0或者1個字符

            .     任意1個字符

            []    []中任意一個字符

            [-]  範圍內任意一個字符

            [^] 非[]內任意一個字符

            |     或

            ()   

             ^   行首

             $   行尾

            {,}   重複範圍內次

相關文章
相關標籤/搜索