正则表达式

grep命令:过滤查找文本内容。

-m:匹配几次之后停止。按行匹配。不是字符个数。

-v:取反。

-n显示匹配的行号

-c 仅显示匹配的行数,不显示匹配的内容

-o 仅显示匹配的内容

-q 静默模式

-A 数字:after后几行

-B :匹配到的行,以及前几行

-C :前后各几行

-e :实现多个过滤条件之间的逻辑或关系

-w :匹配整个单词

-E :使用扩展正则表达式

-f :根据模式文件进行匹配,匹配两个文件相同的内容。

文本三剑客:grep主要就是查

sed增和改

awk按行取列

都是针对文本的内容。

-r :递归目录,但是不处理软链接,匹配目录中的文本的内容。

-R :处理软链接

-E :扩展正则

sort :按照行对文件内容进行排序,也可以根据不同的数据类型进行排序

sort 选项 参数

cat 文件 | sort 选项

-f :忽略大小写,默认会把大写字母排在前面

-b :忽略每行前面的空格

-n :按照数字进行排序

-r :反向排序

-u :相同的数据只显示一行

-o :将排序后文件内容转存到指定文件

uniq

按行来进行处理,去重复行(连续出现)。

uniq 选项 参数

-c :统计连续重复出现的行的次数,并且合并重复的行,并展示。

-u :显示仅出现一次的行

-d :显示仅重复出现的行

tr :字符替换压缩 删除

tr 选项 参数

cat 文件 | tr 选项

-c :保留字符集1的字符,其他字符用字符集2进行替换

-d :删除字符集

-s :重复出现的字符串压缩为一个字符串

-t :默认可以不加

cut快速裁剪:

对字段进行截取和裁剪

cut 选项 参数

cat 文件 | cut 选项

-d :指定裁剪的分隔符(默认的分隔符的是tab的空格)

-f :按行取列,根据第几个字段进行截取

-b :以字节为单位进行截取

-c :以字符为单位进行截取

-complement :排除所指定的字段

-output-delimiter :更改输出结果的分隔符

如何对文件进行拆分:

现在有一个日志文件,5G,直接打开速度很慢,有什么办法进行优化呢?

文件进行拆分

split 可以把大文件拆分成若干小文件。

-l 指定行数进行拆分

-b 指定大小进行拆分

paste合并文件:

cat合并文件和paste有什么区别

cat是上下合并

paste是左右合并

统计当前主机的连接状态

ss -nta | grep -v 'State' | cut -d " " -f 1 | sort | uniq -c

统计当前主机的连接数

ss -nt | tr -s " " | cut -d " " -f 4 | uniq -c

都是针对文件的内容进行操作

正则表达式:由一类特殊字符以及文件字符所编写的模式

其中有些字符不表示字符字面的含义,而表示控制或者通配的功能,用来处理文本当中的字符。

由一些特殊字符组成的特定格式的内容,用来匹配文件当中的内容。

linux当中的通配符:通配符用来匹配文件名或者目录名。

*:任意一个或多个字符。

?:匹配任意一个字符

[]:范围匹配

正则表达式:

元字符:

.匹配任意单个字符,也可以是一个汉字。

\转义符。

()分组\ ( \)

[]匹配范围内的单个字符

[[:blank:]]匹配空格和制表符

[^a]表示除了以外,取反

表示次数:

*:表示匹配前面的字符任意次,包括0次,尽可能长的匹配

.*:匹配前面的任意字符任意次,但是不包括0次

\?:匹配前面的字符0次或者1次,可有可无。

\ +:匹配前面出现的字符最少1次,最多无限. >=1

\ {n}\:表示前面的字符只能出现=n次

\ {n,m\ }:表示前面的字符最少n次,最多m次

\ {,n\ }:表示前面的字符最多出现n次。0次也算

\ {n,\ }:表示前面的字符,最少N次。

你可能感兴趣的:(linux,笔记)