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

文本处理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

原文地址:https://blog.51cto.com/14420400/2426490

时间: 2024-10-08 23:56:53

文本处理cut、sort、uniq、paste正则表达式的相关文章

linux常用命令-文本处理cut,sort,uniq,wc,tr

cut:截取文本特定字段 NAME       cut - remove sections from each line of files -d, --delimiter=DELIM(指定字段分隔符,默认是空格) use DELIM instead of TAB for field delimiter -f, --fields=LIST(指定要显示的字段) select  only  these  fields;  also print any line that contains no del

0219自学Linux_bash特性+命令学习(cut,sort,uniq,wc,tr,histroy,alias)+通配符glob

09 GPL,BSD,Apache三个开源协定的大体联系及其区别 1.自由软件,版权描述:但是照样是有版权的 2.开源协定,版权描述 www.kernel.org内核版本的版本号查看网址,也是官网 查看最新kernel的最新版本,www.kernel.org习惯了解 列出linux发行版和linux内核的关系 Lniux发行版,GUN:GUN/Linux. 源代码:必须要编译才可以运行,所以发行版是已经将源代码已经编译完成的东西,组合在一起,就形成了发行版,主流的三大发行版:Fedora:它为r

Linux基础之文本处理命令(wc,cut,sort,uniq,diff,patch)

我相信大家在使用Linux过程中总会遇到想要提取某些自己需要的信息的情况,比如如下这四种情况: 1.找出ifconfig命令结果中eno16777728的IPv4地址 2.查出分区空间使用率的最大百分比值 3.查出/tmp的权限,以数字方式显示 这个时候,我们使用命令当然也可以查看,不过还需要自己通过眼睛去过滤不需要的信息,多费劲.如何让自己更轻松的看到自己想看到自己想看的信息呢?今天的文本处理命令能满足我们的简单需求. wc 此wc非彼WC,在这里wc是word count的简写 wc - p

文本处理工具 wc cut sort uniq

<1> wc 统计字符 行 单词 wc -l wc -w wc -c wc可以可以放在文件前面 也可以放在文件后面,如上图. <2> cut 切 顾名思义就是切割文件用的 作用:是切割一任意行文件的列.... 但是默认按照空格来分割的个格列的 当然可以使用 cut -d 来指定分隔符 如 cut -d: cat -d"22",但是其默认参数必须要跟上-f 指定输出第几列,不指定就会报错 常用的也就-d -f 但是还有一个是以前没用用到过的,就是指定输出分隔符 -

文本查看及处理工具:wc, cut, sort, uniq, diff, patch

wc:字符统计,直接使用会依次显示行数.单词数.和字符 wc  [OPTION]...  [FILE]... -l: 行数 -w:单词数 -c: 字符 cut:选取命令,就是将一段数据经过分析,取出我们想要的列,后面必须跟参数使用 cut OPTION... [FILE]... OPTION:     -d CHAR:以指定的字符为分隔符:     -f FIELDS:挑选出的字段:     #:指定的单个字段:     #-#:连续的多个字段:     #,#:离散的多个字段: [[email

cut,sort,uniq,wc

cut cut参数详解 选项 注释 -b 以字节为单位进行分割. -c 以字符为单位进行分割. -d 自定义分隔符,默认为制表符. -f 与-d一起使用,指定显示哪个区域. -n 取消分割多字节字符.仅和 -b 标志一起使用. 注解: cut使用三种定位方式:b(bytes),c(characters),d(fields) cut只擅长处理"以一个字符间隔"的文本内容. sort sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将

linux cat,tac,more,less,head,tail,cut,sort,uniq,wc,tr命令的使用

cat:连接并显示,比如: [[email protected] ~]# cat /tmp/sort.test  111 324 567 324 890 890 567 abc 加上选项-n会显示行号: [[email protected] ~]# cat -n /tmp/sort.test      1111      2324      3567      4324      5890      6890      7567      8abc 加上-E选项会显示行尾符$:(linux中行尾

文本文件命令(wc,cut,sort,uniq)及常用参数

wc 字数统计 wc [OPTION]... [FILE]... -l, --lines 显示行数 -w, --words 显示单词数 -c, --bytes 显示字节数 -L, --max-line-length 打印最长行的长度. eg: cut 文件提取命令 官方解释:remove sections from each line of files 从文件中每一行选取部分 根据官方解释可以知道cut是以每一行为处理对象的 用法:cut OPTION... [FILE]... 常用参数: (其

文件处理工具:wc,cut,sort,uniq

wc命令:统计常用选项:-l :显示行数-w:显示单词数 (以空格分隔为一个单词)-c:显示字符数cut命令:切割常用选项:-d :指明分隔符-f #:指明第几个字段,如,1:1,2:1-3sort命令:排序常用选项:-f:忽略字符大小写-r:逆序-t:字段分隔符-k #:以指定字段为标准排序-n:以数值大小进行排序-u:排序后去重uniq:去重常用选项:-c:显示每行重复出现的次数-d:仅显示重复过的行-u:仅显示不曾重复的行 Note:连续且完全相同方为重复 原文地址:http://blog

Linux中cut,sort,uniq和wc的用法

一.cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的.1.语法格式为:cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]2.使用说明cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准输出.如果不指定 File 参数,cut 命令将读取标准输入.必须指定 -b.-c 或 -f 标志之一.3.主要参数-b :以字节为单位进行分