linux_文本处理命令(cut、sed、awk、grep、sort)

cut

cut命令是在Linux操作系统中用来从文本数据中提取字段的一个常用命令。它可以根据指定的字段定界符将文本行分割成字段,并提取所需字段的内容

cut [选项参数]  filename 
选项参数功能
-d <分隔符>delimiter 指定字段的分隔符,默认为制表符
-f <行号>fileds 指定列号,提取第几列
-s禁止输出不包含定界符的行
  • 实例
    在这里插入图片描述

sed

sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出

sed [选项参数]  command  filename
选项参数功能
-e直接在指令列模式上进行sed的动作编辑
命令说明
a新增,后接字符串,插入在目前的下一行
c取代,取代行号之间的行
d删除
i插入,后接字符串,插入在目前的上一行
s替换,后接字符串,插入在目前的上一行
  • 实例
    在这里插入图片描述

awk

一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理

awk [选项参数] 'pattern {action}' filename

pattern:表示awk在数据中查找的内容,就是匹配模式
action:在找到匹配内容时所执行的一系列命令
注意:
	只有匹配了pattern的行才会执行action
选项参数功能
-F <分隔符>指定输入文件折分隔符,默认是空格
-v <变量名>=<值>赋值一个自定义变量。使用该选项将外部值传递给 awk 脚本中的变量
内建变量说明
$n当前记录的第n个字段,字段间由FS分隔
$0完整的输入记录
FILENAME当前文件名
NF一条记录的字段的数目
NR已经读出的记录数,就是行号,从1开始
FSField Separator 字段分隔符(默认是任何空格)
RSRecord Separator 记录分隔符(默认是一个换行符)
OFSOutput Field Separator 输出字段分隔符,默认值与输入字段分隔符一致)
  • 实例
    在这里插入图片描述
    统计文本中单词的个数里插入图片描述

grep

grep 全称是 Global Regular Expression Print,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

grep [选项参数] pattern files 

pattern 通常是一个正则表达式,用于匹配指定的文本模式
files 可以是若干个文件,也可以是目录
选项参数功能
-c计算符合样式的列数
-i忽略字符大小写的差别
-v显示不包含匹配文本的所有行
-r递归的读取目录下的所有文件,包括子目录
  • grep 的规则表达式:
元字符功能
^行首定位符(包括空格) ,如:'^ha’匹配所有以ha开头的行
$行尾定位符(包括空格) ,如:'hadoop$'匹配所有以hadoop结尾的行
.匹配单个字符(包括空格、符号) ,如:'h.doop’匹配h后接一个任意字符,然后是doop
*匹配*号前的第一个字符0到多次,如:'had*'匹配had后接任意个字符
.*匹配任意多个字符 (贪婪匹配)
[]匹配方括号中任意一个字符,如’[Hh]adoop’匹配的是Hadoop和hadoop
[ - ]匹配指定范围内的一个字符(不包括空格),如’[h-j]adoop’匹配的是hadoop、iadoop、jadoop
[^]匹配不在指定组里的字符,如’[^h-j]adoop’匹配的是除了hadoop、iadoop、jadoop都匹配
<词首定位符 (包括空格),如:'<ha’匹配包含以ha开头的单词的行
>词尾定位符(包括空格),如’doop>'匹配包含以doop结尾的单词的行
\b单词锁定符,如: '\bhadoop\b’只匹配hadoop
  • 实例
    在这里插入图片描述

sort

sort命令是将文件进行排序,并将排序结果标准输出。默认情况以第一个字符串的字典顺序来排序

sort  [选项参数] (参数)
选项参数功能
-n依照数值的大小排序
-r以相反的顺序来排序
-t设置排序时所用的分隔字符,默认使用TAB
-k指定需要排序的列
-uunique 去重,只能跳过相邻的相同行,并不能进行排序

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值