Linux命令三剑客:grep、sed、awk
副标题[/!--empirenews.page--]
一、grep grep命令主要用于文本内容的查找。它支持正则表达式查找,命令格式为:
例如:在filename文本中查找包含”text”的行:
这条命令默认只输出匹配的文本行
二、sed sed命令主要用于文本内容的编辑。默认只处理模式空间,不处理原数据,而且sed是针对一行行数据来进行处理的。 sed的命令格式为:
option常用选项有以下:
command可以分为以下几种:
例如: 1、在filename文本最后一行追加hello world:
2、在filename文本第一行插入hello world:
3、既要在最后一行追加hello world,又要在第一行插入hello world:
另外,sed比较常用的就是文本替换,它也支持正则表达式,功能强大。 例如: 1、表示将filename文本的每行中的oldstring替换为newstring:
2、删除空白行:
PS:正则表达式中s表示空白字符(包括,空格,制表符等) 三、awk awk命令主要用于文本内容的分析处理。 如果对处理的数据需要生成报告之类的信息,或者处理的数据是按列进行处理的,使用awk。 awk读入有’n’换行符分割的一条记录,然后将记录按指定的域分隔符划分域,$0则表示所有域,$1表示第一个域,$n表示第n个域。 例如:以”:”分隔filename文本的每一行并且打印第一列
打印可以采用print函数,如果需要格式化打印,则类似C语言一样采用printf函数。 练习:sed和awk定制化显示举例 1、可以制作一个文本test.txt,内容为:
需要显示的结果为:
如果采用sed,可以输入
如果采用awk,则有两种方法
(编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |