linux常用文本编缉命令(strings/sed/awk/cut)

时间:2023-03-09 07:46:05
linux常用文本编缉命令(strings/sed/awk/cut)

一、strings

strings--读出文件中的所有字符串

二、sed--文本编缉

类型 命令 命令说明
字符串替换 sed -i 's/str_reg/str_rep/' filename 将文件每一行第一个str_reg字符组替换为str_rep
字符串替换 sed -i 's/str_reg/str_rep/g' filename 将文件每一行所有str_reg字符组替换为str_rep
行删除 sed -i '2d' filename 将文件当前的第二行删除
行删除 sed -i '2,5d' filename 将文件当前的第二到第五行删除
行删除 sed -i '/str_reg/d' filename 将文件有字符串匹配str_reg的行删除
行前插 sed -i '2i\str_insert' filename 在文件当前的第二行前新插入一行,内容为str_insert
行前插 sed -i '2,5i\str_insert' filename 在文件当前的第二到第五行前都 新插入一行,内容为str_insert
行前插 sed -i '/str_reg/i\str_insert' filename 在文件有字符串匹配str_reg的行前插入一行,内容为str_insert
行后插 sed -i '2a\str_insert' filename 在文件当前的第二行后新插入一行,内容为str_insert
行后插 sed -i '2,5a\str_insert' filename 在文件当前的第二到第五行后都新插入一行,内容为str_insert
行后插 sed -i '/str_reg/a\str_insert' filename 在文件有字符串匹配str_reg的行后插入一行,内容为str_insert

三、awk--报表生成

awk [-F:] '[BEGIN{ commands }] [{ commands }] [END{ commands }]' filename

-F指定分割符的标志,默认为空格(连续多个空格按一个算,tab等也算空格)

BEGIN语句块在读取第一行前执行

中间语句块在读取每行后都执行

END语句块在全部读取完后执行

各语句块中的命令一般都只是print语句和简单的加减运算

四、cut--文字节选

cut [-d ":"] [-f 1,2] filename

-d指定分格符

-f指定打印出的区域,注意不像awk那样有0域