加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

文本处理cut、sort、uniq、paste正则表达式

发布时间:2020-12-14 05:39:38 所属栏目:百科 来源:网络整理
导读:文本处理cut、sort、uniq、paste正则表达式 1 cut 按列抽取文本 cut -d DELIMITER -f FILEDS .example,cut -d: -f1,用-d:冒号位分割符,用f1取第一列。 [[email?protected] ~]#cut /etc/passwd -d: -f 7/bin/bash/sbin/nologin/sbin/nologin/sbin/nologin/sb
文本处理cut、sort、uniq、paste正则表达式

1 cut 按列抽取文本

cut -d DELIMITER -f FILEDS .example,cut -d: -f1,用-d:冒号位分割符,用f1取第一列。

[[email?protected] ~]#cut /etc/passwd -d: -f 7
/bin/bash
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin

1.2 paste -d : f1 f2 两个文件行号对齐,-d指定分隔符,并排。

1.3 sort 排序

sort -r 反序。sort -R 随机。sort -n 按数字大小排序。sort -f 忽略字符串大小写。sort -u 删除重复行。
综合用法:sort -t: -k3 -n passwd -t:指定冒号分隔符,-k3按照第三列排序,-n按照数字大小来排序。

//系统生成12位包含大小写,数字下划线的随机密码
__cat /dev/urandom |tr -dc "a-zA-Z_0-9"|head -c 12__

1.4 uniq 从输入删除前后相接的重复的行

1.4.1 uniq -c 显示行重复出现的次数
uniq -d 仅显示重复的行
uniq -u 仅显示不重复的行
//一般sort list.txt |uniq -c 先排序,然后统计重复的行是次数

2 grep 命令

2.1 grep -m 匹配m次后停止。grep -v 显示不被匹配的行。grep -i 忽略大小写。grep -n 显示匹配的原行号。grep -c 统计匹配的行数。grep -o 仅显示匹配到的字符串。grep -q 静默模式。grep -A #,匹配后面#行。grep -B,匹配before # lines.grep -C #,context匹配前后各#行。grep -e 或,匹配多个选项。grep -e "ab" -e "cd".grep -w 匹配整个单词。grep -E使用扩展语法。grep -F ,仅匹配字串,不支持正则。grep -f file1 file2.根据file1行的内容,逐行匹配file2,可以实现查找两个文件相同的内容包含。

2.2 正则表达式

2.2.1

. 任意单个字符
[a-bA-Z0-9] 指定范围的单个字符
[^0-9] 指定范围外的单个字符
[:alnum:] 字母和数字
[:lower:],[:uper:],[:alpha:],[:blank:],空白字符(空格、指标符),[:space:],水平和垂直的空白字符,[:cntrl:],不可打印字符,[:graph:],可打印非空字符,[:print:],可打印非空,[:punct:],标点符号。

2.2.2 匹配次数

* 前面字符任意次数。
.*,点,表示单个字符,点星,表示任意长度字符串,含空串。
? 前面字符0或1次
+ 前面字符至少一次
{n},前面字符n次
{m,n},前面字符至少M次,至多n次。

2.2.3 位置锚定

^ 行首锚定,用于匹配行的最左侧
$行尾锚定,用于匹配行的最右侧位置
^$ 匹配空行,即无任何内容的行
^[[:space:]]*$ 空白行,可以匹配到空格。
&;词,注意是词,词,词,词首锚定,用于单词模式的左侧,某某开头的单词。
&;,词尾锚定,用于单词模式的右侧,某某结尾的单词。

////更多参考 man 7 regex

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读