Linux的文本三剑客
grep | |
-v | 取反 |
-m | 数字匹配 |
-n | 显示匹配内容以及显示的匹配行号 |
-o | 仅显示匹配到的字符串,不再输出其他内容 |
-A | 显示匹配到行以及匹配的后几行 |
-B | 显示匹配到的行以及匹配的前几行 |
-C | 前后各几行,显示匹配到的行以及上下各几行/自定义 方便对日志内容过滤 |
-e | 实现逻辑或的关系 |
-E | 使用正则表达式 |
-f | 过滤出两个文件相同的内容 |
-r | 递归目录下所有包含过滤内容的文件以及匹配的内容行,但是不处理软连接 |
-R | 递归目录下所有包含过滤内容的文件以及匹配的内容行,处理软连接。 |
sort | 以行为单位,对文件内容进行排序,也可以根据不同的数据类型进行排序。 |
-b | 忽略每行前面的空格,进行排序,有空格也不影响排序 |
-n | 按照数字进行排序 |
-r | 反向排序 |
-u | 相同的数据行只显示一行 |
-o | 输出文件,把排序后的结果输出到指定的内容文件 |
uniq | 报告或者忽略文件中连续的重复行,常于sort命令结合使用。 |
c | 统计连续重复的行的次数,合并重复的行 |
-u | 显示仅出现一次的行(包括不连续的重复行) |
-d | 仅显示重复出现的行(必须是连续的重复行) |
tr | 对字符进行替换 压缩 删除 |
-c | 保留字符集1的字符,其他字符用字符集2来进行替换,必须要保留,然后替换。 |
-d | 删除字符 |
-s | 将重复的字符串压缩为一个字符,替换字符集 |
-t | 替换,(默认为-t,可以不加) |
cut | 对字段进行截取和剪裁 |
-d | 指定分割符 |
-f | 对字段进行截取 |
split | 文件拆分 |
-l | 指定行数进行拆分 |
-b | 指定大小进行拆分 |
paste | 左右合并 |
cat | 上下合并 |
正则表达式 grep -E
* | 匹配前面的字符任意次,包括0次,尽可能长的匹配 |
.* | 匹配前面的字符任意次,但是不包括0次,也就是匹配所有。 |
? | 匹配前面的字符出现0次或者一次。有且只有一次。 |
+ | 匹配前面出现的字符,至少出现一次>=1 |
{n} | 匹配前面出现的字符等于几次。 |
{m,n} | 匹配前面出现的字符最少是m次,最多是n次 |
{,n} | 匹配前面的字符最多n次。没有也算。 |
{n,} | 匹配前面的字符最少n次,只要连续出现n次,后面的都算 |