linux查看统计数据命令,查看,统计、正则表达式――Linux基本命令(9)
1.文件查看
(1)正向查看
cat
cat -v显示非打印字符
-E
-TTAB
-n显示行号(与nl作用类似)
-s将连续的重复的空行变成一行(与tr -s作用类似,将多个重复的变成一个,如图将多个换行符变成了一个)
-A= -vET
(2)整个文件反向查看
tac反向输出 将文件倒过来输出
(3)一行反向查看
rev 将每一行反向输出
more:
more [OPTIONS...] FILE...
less:一页一页地查看文件或STDIN
查看时有用的命令包括:
/文本 文本
n/N 跳到下一个 或 上一个匹配
less命令是man命令使用的分页器
3.显示文本前或后行的内容
head
head [OPTION]...[FILE]...
-n #: 指定获取前#行
-#: 指定行数
-c #: 指定获取前#字节
tail
tail [OPTION]...[FILE]...
-c #: 指定获取后#字节
-n #: 指定获取后#行
-#:
-f: 跟踪动态的显示文件新追加的内容,常用日志监控
4. 按列抽取文本cut
cut [OPTION]...[FILE]...
-d DELIMITER: 指明分隔符,默认tab
-f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段,例如1-6
混合使用:1-3,7
如图,查看/etc/passwd
使用cut,以:为分隔符,截取第1个字段(就是用户名那一列)
也可以截取第1,3字段(就是用户名和UID)
同样的,可以截取前三位
-c按字符切割
如图,将每行第二个字符切割出来
--output-delimiter=STRING指 定输出分隔符
如图,将分隔符改成了“!”
5.paste
paste合并两个文件同行号的列到一行
paste [OPTION]...[FILE]...
-d “分隔符”:指定分隔符,默认用TAB
-s : 所有行合成一行显示
paste f1 f2 [f3]
paste -s f1 f2
6.文本数据统计WC
wc: word count
wc 行数 单词数 字节(换行符也算一个字节)
wc -m字符数
-c 字节 (一个字母一个字节,一个汉字三个字节)
-l行数
-w 单词数
7.文本排序
sort
(正常默认按照第一个数字的大小排序)
-n 执行按数字大小整理
-r执行反方向(由上至下)整理
-f选项忽略(fold)字符串中的字符大小写
-u选项(独特,unique)删除输出中的重复行
-t c 选项使用c做为字段界定符
-k X 选项按照使用c字符分隔的X列来整理 能够使用多次
8.uniq
uniq命令:从输入中删除前后相接的连续重复的行
uniq [OPTION]... [FILE]...
-c: 显示每行重复出现的次数
-d:仅显示重复过的行
-u:仅显示不曾重复的行
(uniq命令常与sort命令一起配合使用。要想去除非连续的行,就可以先用sort排序)
9.比较文件
比较两个文件之间的区别,可以用diff
可以使用diff -u生成补丁(用于软件升级之类的):
diff -u f1 f2 > diff.log生成补丁
mv f2 f2.rm相当于删除了文件
patch -b f1 diff.log 通过补丁还原文件
注:还原之后新生成的文件依然叫f1(其实就是f2),原来的旧的f1会自动命名为f1.orig
mv f1 f2 还原原始的新文件名
mv f1.orig f1 还原原始的旧文件名
diff f2 f2.rm 比较还原回来的新文件与被删除的文件,发现没有区别
10.文本搜索工具
grep: Global search REgulare xpression and Print out the line
作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查,打印匹配到的行
模式:由正则表达式字符及文本字符所编写的过滤条件
--color=auto 将匹配的结果着色显示
在centos6中匹配时是没有颜色的,需要加上--color=auto才能将匹配结果着色,但是在centos7中默认就是着色的,因为alise里已经有设置好了别名。
-v反向匹配 (如grep -v root/etc/passwd将显示所有不带有root的结果)
-i忽略大小写
-n显示的结果前增加行号
-c仅显示匹配到结果的行数
-o仅显示匹配到的字符串
-q静默模式,不输出任何信息
或者 &>/dev/null
-A#显示关键字行及向后#行
-B#显示关键字行及向前#行
-C#显示关键字向前#行,当前行,及向后#行
-e实现多个选项间的逻辑or关系
-w匹配整个单词
-E使用扩展正则表达式 或egrep
-F不使用正则表达式或 fgrep
11.※正则表达式※
(1)REGEXP
由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能。
程序支持:grep,sed,awk,vim,less,Nginx,varnish等
分两类:
基本正则表达式:BRE
扩展正则表达式:ERE
使用方式grep -E或egrep
(2)字符匹配:
.匹配任意单个字符(类似文件名匹配时的问号)
[] 匹配指定范围内的任意单个字符
[^]匹配指定范围外的任意单个字符
[:alnum:] 字母和数字 等于[0-9a-zA-Z]
[:alpha:] 代表任何英文大小写字符 等于[A-Z a-z]
[:digit:] 十进制数字
[:lower:] 小写字母[:upper:] 大写字母
[:blank:] 空白字符(空格和制表符)
[:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广,一般常用space表示空格)
[:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
[:xdigit:]十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:]
(3)匹配次数
匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数
*匹配前面的字符任意次,包括0次
贪婪模式:尽可能长的匹配
.*任意长度的任意字符
\?匹配其前面的字符0或1次
\+匹配其前面的字符至少1次
\{n\}匹配前面的字符n次
\{m,n\}匹配前面的字符至少m次,至多n次
\{,n\}匹配前面的字符至多n次
\{n,\}匹配前面的字符至少n次
(4)位置锚定
位置锚定:定位出现的位置
^行首锚定,用于模式的最左侧
如图,只显示以root开头的行
$行尾锚定,用于模式的最右侧(同理,只显示以指定内容结尾的行)
^PATTERN$ 用于模式匹配整行
^$ 空行 (直接回车)
^[[:space:]]*$ 空白行(包括空格Tab和换行符)
如图,其实是显示出来匹配的结果的,只是因为是空白所以不太方便看出来
\
\>或 \b词尾锚定;用于单词模式的右侧(就是单词必须以root结尾)
\匹配整个单词
(因为单词必须以root开头,也要以root结尾,就是匹配整个单词啦)
如图,不加锚定时rooter alroot这种带有root的单词也会被匹配出来,如果只想匹配root这个单词就在词首词尾都加上锚定,可只显示root的匹配结果。
(5)其他的表达
分组:
\(\) 将一个或多个字符捆绑在一起,当作一个整体进行处理,如:\(root\)\+
后向引用:引用前面的分组括号中的模式所匹配字符,而非模式本身
分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为: \1,\2,\3,...
正则表达式中的小括号"()"。是代表分组的意思。 如果再其后面出现\1则是代表与第一个小括号中要匹配的内容相同。注意:\1必须与小括号配合使用。
\1 表示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配到的字符。
\2 表示从左侧起第二个左括号以及与之匹配右括号之间的模式所匹配到的字符。以此类推。
示例:\(string1\+\(string2\)*\)
\1 表示string1\+\(string2\)*
\2 表示string2
表示或者:\|
示例:a\|b: a或b C\|cat: C或cat \(C\|c\)at:Cat或cat
(6)扩展正则表达式
使用扩展的正则表达式可以使命令更简便一些
egrep=grep -E
egrep [OPTIONS]PATTERN [FILE...]
使用egrep之后,除了词首词尾锚定和后向引用外,其余之前需要带\的都可以去掉\了。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
linux查看统计数据命令,查看,统计、正则表达式――Linux基本命令(9)相关推荐
- UE4 统计数据命令描述
统计数据命令描述 统计数据命令描述 概述 执行命令 在编辑器统计查看统计数据 统计数据类型 Cycle Counter Stat(循环计数器统计数据) Memory Counter Stat(内存计数 ...
- Linux系统使用ss命令查看端口状态
Linux系统使用ss命令查看端口状态 Linux系统使用ss命令查看端口状态 目录 1.可用工具 2.ss帮助 2.1 选项分类说明 2.2 过滤选项family 2.3 过滤选项state 2.4 ...
- [Linux] Linux下使用du命令查看空间使用情况
一.摘要 敬告,本文所有博客将迁移到博客园刘好念的博客!!!以后将逐渐弃用CSDN. 本文介绍了在linux下使用du命令查看文件夹所占空间大小的命令,包括查看当磁盘中所有文件占空间大小.前目录的所占 ...
- linux如何看udpsocket状态,Linux如何使用ss命令查看系统的socket状态
Linux如何使用ss命令查看系统的socket状态 发布时间:2021-05-08 10:34:54 来源:亿速云 阅读:99 作者:小新 小编给大家分享一下Linux如何使用ss命令查看系统的so ...
- Linux操作系统里查看所有用户命令/查看系统命令
1.Linux里查看所有用户 linux里,并没有像windows的net user,net localgroup这些方便的命令来治理用户. Xwindows界面的就不说了. (1)在终端里.其实只需 ...
- Linux中的uptime命令查看系统运行时间
Linux中的uptime命令查看系统运行时间 uptime:查看系统运行(up)了多长时间 语法如下: uptime会在一行中显示如下信息: 当前时间.系统运行了多长时间.当前登录的用户有多少.前1 ...
- linux cal命令使用,Linux如何使用cal命令查看日历
通常Linux系统桌面就有自带日历,查看日期十分方便,那么要如何使用命令查看日历呢?下面小编就给大家介绍下Linux如何使用cal命令查看日历,一起来学习下吧. cal命令可以用来显示公历(阳历)日历 ...
- linux擦除硬盘数据命令_轻松擦除,删除和安全销毁硬盘数据
linux擦除硬盘数据命令 Giving a computer to somebody else? Maybe you're putting it out on Craigslist to sell ...
- linux下使用free命令查看实际内存占用
linux下在终端环境下可以使用free命令看到系统实际使用内存的情况,一般用free -m方式查看内存占用情况(兆为单位).而系统实际可用内存是不是free部分呢,不是的,系统实际内存占用以及可用内 ...
- linux cpu使用率1200%,linux下用top命令查看cpu利用率超过100%
今天跑了一个非常耗时的批量插入操作..通过top命令查看cpu以及内存的使用的时候,cpu的时候查过了120%..以前没注意..通过在top的情况下按大键盘的1,查看的cpu的核数为4核. 通过网上查 ...
最新文章
- 建立数组并写入数据_redis高并发利器:神奇的位操作,底层原理、数据结构剖析...
- 由手机上网带来病毒引发的三大疑问?
- php 正则获取html标签,php正则取嵌套html标签
- typedef 定义数组类型_Java基础之数组
- 三菱gt3的序列号_WinXP sp3序列号大全
- JUnit4(三)高级之 assertThat和Matchers (匹配器)
- ROS做端口映射DDNS的N个做法详细教程
- mysql免安装_mysql免安装版 win10
- 液晶面板里面有些什么配件_TFT液晶屏的基本组成和部件是什么
- kakfa 3.0 创建topic流程(源码)
- AI-WEB-1.0简单攻略
- 如何给运行中的docker容器增加映射端口
- java 实现异地登陆_Java实现用户异地登陆踢人操作
- tensorflow 1.14 ssd_mobilenet_v1 模型训练
- 常见因子的Fama-Macbeth回归:EAP.fama_macbeth
- 神经网络中“端到端”思想
- FCKEditor 使用
- Mybatis报错org.apache.ibatis.binding.BindingException: Type interface com.trf.dao.UserDao is not known
- 用 Python 代码自动抢火车票
- IBM Cloud 2019 - 新用户的注册,账户等级 和登录
热门文章
- 【人工大猩猩部队优化算法】基于人工大猩猩部队优化算法求解单目标优化问题(GTO)含Matlab源码
- Fastjson漏洞修复参考
- 让你的网页文本框增加光晕效果与提示,水印(类似QQ2011)
- 红蓝对抗--sliver 搭建
- Windows Mobile下的重力感应器(Gravitational Sensor)开发
- python中write是什么意思_Python中操作文件之write()方法的使用教程
- 计算机linux认证-1,Linux认证:Linux点评Debian5个五功能
- dubbo 的SPI机制Adaptive适配
- PDF转Markdown文件
- 计算机网络基础之互联网总结