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个字符

            []    []中任意一个字符

            [-]  范围内任意一个字符

            [^] 非[]内任意一个字符

            |     或

            ()   

             ^   行首

             $   行尾

            {,}   重复范围内次

相关文章
相关标签/搜索