linux统计文本每列的最大字符,Linux 文本处理,文本工具,查看,分析,统计文本文件,grep,正则表达式...

文本处理

各种文本工具,查看,分析,统计文本文件

grep

正则表达式

扩展正则表达式

sed

cat -n f1

加行号(空格行都计算)

3c8ce6380daa33c267ccb0e2e66a02de.png

cat -b f1

加行号(只计算有字符的行)

3c8ce6380daa33c267ccb0e2e66a02de.png

cat -ns f1

加行号(压缩空行)

cat -v f1

能看windows文件的M`符号

3c8ce6380daa33c267ccb0e2e66a02de.png

cat -T f1

能够显示里面的tab空位,显示为^I

3c8ce6380daa33c267ccb0e2e66a02de.png

cat -A f1

能够显示所有的=-vET

3c8ce6380daa33c267ccb0e2e66a02de.png

cat 命令是一个标准输入到标准输出

tac f1

将文本内容倒向显示

3c8ce6380daa33c267ccb0e2e66a02de.png

rev f2

echo {1..10} >>f2

01 9 8 7 6 5 4 3 2 1

将文本反向显示(内容为字符显示)

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

more

space空格一页一页翻

q :退出

回车翻一行

less

d:翻半屏

/ :文本搜索

n/N:跳到上一个或者下一个匹配

head 头

head -n 3

-3 /var/log/messages   头三行显示

3c8ce6380daa33c267ccb0e2e66a02de.png

tail 后

tail -n 10 /var/log/messages  后10行的显示

3c8ce6380daa33c267ccb0e2e66a02de.png

tail -f /var/log/messages 自动显示更新的日志内容(保持显示内容)

3c8ce6380daa33c267ccb0e2e66a02de.png

tail -n 0 -f /var/log/message &

日志有新信息就显示,没新信息都不出现 (在后台运行)

fg 1

Ctrl +C (要切换回前台在结束)

3c8ce6380daa33c267ccb0e2e66a02de.png

tail -c 10 f1

显示后10个字符(包括空格,符号。)

3c8ce6380daa33c267ccb0e2e66a02de.png

按列抽取文本cut和合拼文件paste

cut

-d :指明分隔符,默认tab

-f :

#:第#个字段

#,#[,#]:离散的多个字段,例如1,3,6

#-#:连续的多个字段,例如1-6

混合使用:1-3,7

-c : 按字符切割

–output-delimiter=STRING指定输出分隔符

cut

cut -d: -f1,3,7 passwd

取出用:分隔的1.3.7列取出成行

3c8ce6380daa33c267ccb0e2e66a02de.png

cut -c44-46 f1

取出字符第44到46列,取出显示成行

3c8ce6380daa33c267ccb0e2e66a02de.png

ifonfig | head -2 |tail -1 |cut -d: -f2| cut -d" " -f1

3c8ce6380daa33c267ccb0e2e66a02de.png

paste 横行合并ca

-d 分隔符:指定分隔符

-s:所有行合成一行显示

wc 文本数据统计

wc + 文件

wc +  +文件

-l :行

-c :多少个字节总数

-m :计算字符总数

-w :显示单词总数

3c8ce6380daa33c267ccb0e2e66a02de.png

sort

整理过文本显示

-r:执行反向(由上至下)整理

-n:执行按数字大小整理

-f:忽略字符串的字符大小写

-u:删除多余的空行

-t c :选项使用c做为字段界定符

-k X :选项按照使用c字符分隔的X列来整理能够使用多次

uniq

uniq f1

相邻的相同的删去,不相邻的不删除

-c :显示所有行重复的次数

-d :只显示重复的

-u :只显示不重复的

sort f2 |uniq -c

3c8ce6380daa33c267ccb0e2e66a02de.png

netstat -nt

cut -d: -f1,3,7 /etc/passwd |sort -t: -k2 -n

3c8ce6380daa33c267ccb0e2e66a02de.png

netstat -nt |tr -s " " ":"|cut -d: -f6 |tail -n +3|sort -n |uniq -c

diff

-u

diff f1 f2 -u > diff.log 对比f1 与f2 的不同赋予diff.log

rm -f f2

patch -b f1 diff.log   自动备份

patch

-b 自动备份改变了的文件

grep :文本过滤工具

grep,egrep,fgrep(不支持正则表达式搜索)

sed: stream editor,文本编辑工具

awk:Linux 上实现gawk,文本报告生成器

grep

:作用文本搜索工具

ls -R

grep root /etc /passwd /etc/shadow

-v:不包括指定的 显示出来

-i: 忽略大小写

-n:显示对应的行号

-c:统计匹配的行数目

-o:仅显示匹配到的字符串

-q:静默模式,不输出任何信息

echo $?

0就成功了,1是不成功。

-A:after,将指定的关键字后面N行显示出来

grep -nA3 root /etc/passwd

-B:before,指定关键字前面N行显示

-C:前两行,后两行都显示出来

-e:实现多个选项间的逻辑or关系

grep -e root -e bash /etc/passwd

-w:整行匹配整个单词

指的是整个单词搜索

-E:使用ERE

-F:等于使用fgrep

正则表达式

REGEXP: 由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表达字符字面意义,而表示控制或通配的功能

分两类:

基本正则表达式:BRE

扩展正则表达式:ERE

grep -E,egrep

正则表达式引擎:

采用不同算法,检查处理正则表达式的软件模块

PCRE

元字符分类:字符匹配,匹配次数,位置锚定,分组

man 7 regex

. : 匹配任意单个字符

[]: 匹配指定范围内任意单个字符

grep r[a-z]t /etc/passwd

3c8ce6380daa33c267ccb0e2e66a02de.png

[^]:匹配指定范围外的任意单个字符

匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数。

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

贪婪模式,尽可能长的匹配

.*:任意长度的任意字符

\?:匹配其前面的字符0或1次

\+:匹配其前面的字符至少1词

\{m\}:匹配前面的字符m次

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

\{,n\}:匹配前面的字符最多n次

\{m,\}:匹配前面的字符最少m次

位置锚定:定位出现的位置

^:行首锚定,用于模式的最左侧

$:行尾锚地,用于模式的最右侧

grep -v ''

^PATTERN$:用于匹配整行

^$:空行

^[[:space:]]*$:空白行

\< 或 \b:词首的锚定,用于单词的左侧

grep '\bro'f1

\> 或 \b:词尾锚定,用于单词模式的右侧

\:匹配整个单词

分组:\(\):将一个或多个字符捆绑在一起,当作一个整体进行处理

如: \(root\)\+

分组括号中的模式匹配到的内容会比正则表达式引擎记录于内部的变量中,这些变量的命名方式为:\1,\2,\3,…

df |grep '/dve/sd'

nmap -sP -v 10.1.252.210/24 |grep -B1|grep -v

grep "\b[1-9][0-9][0-9]\b"

grep \(bash\+\(testbash\+\(basher\+\(nologin)*\)+

grep –color '^\.*\b\1\b$' /etc/passwd

grep '^\(.*\).*/\1$' /etc/passwd

3c8ce6380daa33c267ccb0e2e66a02de.png

egrep 扩展的正则表达式

egrep = grep -E

.任意次数

[]指定范围的字符

[^]不在指定范围的字符

次数的匹配:

*:匹配前面字符任意次数

?:0或1次

+:1次或多次

{m}:匹配m次

{m,n}:至少m,至多n次

位置锚定:

^:行首

$:行尾

\

\>,\b:尾

分组:

()

后向引用:\1,\2

或者:

a|b

C|cat: C或cat

(C|c)at:Cat或cat

egrep '^(zczx|root)\b' /etc/passwd |cut -d: -f3,7

3c8ce6380daa33c267ccb0e2e66a02de.png

echo "/etc/isse" | egrep -o "[^/]+/?$"

| egrep -o "(/.*)"

3c8ce6380daa33c267ccb0e2e66a02de.png

原创文章,作者:swzczx,如若转载,请注明出处:http://www.178linux.com/29772

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值