Linux文本相关命令
Linux文本相关命令
文本排序命令
sort
常用参数:
-n:以数值大小进行排序
-r:逆序排序
-t:字段分隔符
-k:以哪个字段为关键字进行排序
-u:去重,排序后相同的行只显示一次
-f:排序时忽略字符大小写
示例:
[root@rh1 ~]# cat aa #查看文件aa内容
4
1
2
3
d
a
c
b
[root@rh1 ~]# sort -n aa #以数值大小进行排序
a
b
c
d
1
2
3
4
[root@rh1 ~]# sort -nr aa #以数值大小进行逆序排序
4
3
2
1
d
c
b
a
[root@rh1 ~]# sort -n -t : -k 3 /etc/passwd #以‘:’为分隔符的第三字段按照数值大小进行排序
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
文本去重命令
uniq
常用参数:
-c:显示文件中行连续重复的次数
-d:只显示连续重复的行
-u:只显示未连续重复的行
示例:
[root@rh1 ~]# cat aa
1
2
2
3
4
[root@rh1 ~]# uniq -c aa #显示文件中行连续重复的次数
1 1
2 2
1 3
1 4
[root@rh1 ~]# uniq -d aa #只显示连续重复的行
2
[root@rh1 ~]# uniq -u aa #只显示未连续重复的行
1
3
4
基础命令cut
从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
常用参数:
-d:指定字段分隔符,默认是空格
-f:指定要显示的字段
- -f 1,3:显示1和3字段
- -f 1-3:显示1到3字段
示例:
[root@rh1 ~]# cut -d : -f 1-3 /etc/passwd #显示/etc/passwd中以冒号为分隔符1至3字段所有字符
root:x:0
bin:x:1
daemon:x:2
adm:x:3
lp:x:4
sync:x:5
shutdown:x:6
halt:x:7
mail:x:8
operator:x:11
games:x:12
ftp:x:14
nobody:x:65534
dbus:x:81
systemd-coredump:x:999
systemd-resolve:x:193
tss:x:59
polkitd:x:998
unbound:x:997
sssd:x:996
sshd:x:74
rngd:x:995
abc:x:1000
文本三剑客
sed
文本替换命令
常用使用方法:
- sed -i 's/文本内原有的文字/想要替换的文字/替换的列数' 文件名
- sed -i 's/文本内原有的文字/想要替换的文字/g' 全部替换 文件名
示例:
[root@rh1 ~]# sed -i 's/hello/hi/1' aa #将文件aa内第一列的hello替换成hi
[root@rh1 ~]# cat aa
hi hello
hi hello
hi hello
nihao
nihao
[root@rh1 ~]# sed -i 's/hello/123/g' aa #将文件aa内全部的hello替换成123
[root@rh1 ~]# cat aa
hi 123
hi 123
hi 123
nihao
nihao
awk
文本提取命令
使用方法:
-F : 指定分隔符
NR==1 : 指定第1行
{print$1,$3} : 指定第一列,第三列
示例:
[root@rh1 ~]# cat /etc/passwd #查看/etc/passwd下内容
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@rh1 ~]# awk -F ':' 'NR==2{print$1}' /etc/passwd #打印以冒号为分隔符第2行第一列的字符
bin
[root@rh1 ~]# ifconfig #查看网卡相关配置信息,发现IP地址和子网掩码分别位于以空格为分隔符的第2行 第2列和第4列
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.244.132 netmask 255.255.255.0 broadcast 192.168.244.255
inet6 fe80::a64f:4f2f:2f21:d89d prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:93:82:41 txqueuelen 1000 (Ethernet)
RX packets 6379 bytes 614033 (599.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4216 bytes 469545 (458.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@rh1 ~]# ifconfig | awk -F ' ' 'NR==2 {print$2,$4}' #利用管道符和awk命令打印IP地址和子网掩码
192.168.244.132 255.255.255.0
grep
文本过滤命令
根据正则表达式搜索文本,并将符合正则表达式的文本显示出来
默认使用基本正则表达式来过滤文本
常用参数:
- -i:忽略大小写
- -n:查找到的内容显示行数
- --color:匹配到的内容高亮显示
- -v:显示没有被正则表达式匹配到的内容
- -o:只显示被正则表达式匹配到的内容
- -E:使用扩展正则表达式,等同于egrep
- -q:静默模式,不输出任何信息
- -A #:此处的#必须是数字。被正则匹配到的内容以及其后面#行的内容都显示出来
- -B #:此处的#必须是数字。被正则匹配到的内容以及其前面#行的内容都显示出来
- -C #:此处的#必须是数字。被正则匹配到的内容及其前后各#行的内容都显示出来
示例:
[root@rh1 ~]# cat a.txt
AA 22
aa 333
aa 444
AA 111
[root@rh1 ~]# grep -i aa a.txt #匹配内容为aa,不区分大小写
AA 22
aa 333
aa 444
AA 111
[root@rh1 ~]# grep -v [a-z] a.txt #匹配a到z之外的内容
AA 22
AA 111
[root@rh1 ~]# grep -o [a-z] a.txt #只匹配a-z的内容
a
a
a
a
[root@rh1 ~]# egrep -o a{2} a.txt #此处为扩展正则表达式,重复匹配字符a两次
aa
aa
[root@rh1 ~]# cat b.txt #查看b.txt的文件内容
aa bb cc
11 22 33
qq ww ee
zz dd vv
[root@rh1 ~]# grep -A 2 22 b.txt #匹配字符22那一行极其后两行内容
11 22 33
qq ww ee
zz dd vv
[root@rh1 ~]# grep -A 1 -B 1 ww b.txt #匹配字符ww那一行及其前一行后一行内容
11 22 33
qq ww ee
zz dd vv
[root@rh1 ~]# grep -C 1 ww b.txt #匹配字符ww那一行及其前一行后一行内容
11 22 33
qq ww ee
zz dd vv
cat 拼接文件内容并输出至标准输出(屏幕)
常用参数:
- -n:显示行号
示例:
[root@rh1 ~]# cat -n bbb #将文件bbb的内容输出至屏幕并显示行号
1 qwer
2 asd
3 a
4 sad
5 zx
6 z
7 d
8
9
tac 连接文件并倒序打印内容至标准输出
示例:
[root@rh1 ~]# tac bbb #连接文件并倒序打印内容至标准输出
d
z
zx
sad
a
asd
qwer
more 全屏查看文本文件内容,看完自动退出
示例:
[root@rh1 ~]# tac bbb #全屏查看文本文件内容,看完自动退出
d
z
zx
sad
a
asd
qwer
less全屏查看文本文件内容,可从前往后看亦可从后往前看,看完不会自动退出
示例:
[root@rh1 ~]# less bbb #查看文件bbb内容,默认不退出,按q退出
qwer
asd
a
sad
zx
z
d
bbb(END)
head 从文件首部开始打印文件内容,默认打印10行
常用参数:
- -n 15:查看文件前15行的内容
示例:
[root@rh1 ~]# head -3 bbb #查看文件bbb前3行内容
qwer
asd
a
tail 从文件尾部开始打印文件内容,默认打印10行
常用参数:
-n 15:查看文件尾部15行的内容
-f:实时查看文件的更新
示例:
[root@rh1 ~]# tail -5 bbb #查看文件bbb倒数五行内容(回车也算一行)
zx
z
d
wc文本统计
常用参数:
-c:统计文本字节数
-w:统计文本单词数
-l:统计文本行数
示例:
[root@rh1 ~]# wc -c bbb
24 bbb
[root@rh1 ~]# wc -w bbb
7 bbb
[root@rh1 ~]# wc -l bbb
9 bbb
Linux文本相关命令的更多相关文章
- Linux 文本相关命令(1)
Linux 文本相关命令(1) 前言 最近线上环境(Windows Server)出现了一些问题,需要分析一下日志.感觉 Windows 下缺少了一些 Linux 系统中的小工具,像在这波操作中用到的 ...
- 编程小技巧之 Linux 文本处理命令
合格的程序员都善于使用工具,正所谓君子性非异也,善假于物也.合理的利用 Linux 的命令行工具,可以提高我们的工作效率. 本文简单的介绍三个能使用 Linux 文本处理命令的场景,给大家开阔一下思路 ...
- Linux性能相关命令
Linux性能相关命令 目录 Linux性能相关命令 1. 查看硬盘相关信息 2. 查看CPU相关信息 3. 查看内存相关信息 4. 查看进程运行的信息 1. 查看硬盘相关信息 cat /proc/s ...
- 编程小技巧之 Linux 文本处理命令(二)
合格的程序员都善于使用工具,正所谓君子性非异也,善假于物也.合理的利用 Linux 的命令行工具,可以提高我们的工作效率. 本篇文章是<Linux 文本处理命令> 续篇,在前文的基础上再介 ...
- Linux文件管理相关命令
Linux文件管理相关命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...
- linux文本处理命令
linux文本处理命令 1.wc命令 基本介绍 文件的行统计.字符统计.字节统计 基本语法 wc [OPTION]... [FILE]... wc [OPTION]... --files0-f ...
- Linux进程相关命令使用场景
Linux进程相关命令使用场景 在Linux系统上工作时,我们常常会碰到很多和进程相关的查询场景,今天在这里进行详细的讲解,进程相关的对象包括以下几个: 端口:Port 进程号:PId 执行文件所在路 ...
- Linux 网络相关命令 Cheat Sheet
以下漫画形式呈现的常用 Linux 网络相关命令速查表来自 twitter -
- Linux解压缩相关命令
Linux解压缩相关命令 运行级别: 0:关机 1:单用户 2:多用户无网络连接 3:多用户有网络连接 4:系统保留 5:图形界面 6:系统重启 通过init[0123456]来切换不同的运行级别 g ...
随机推荐
- 迭代器和增强for循环
iterator 迭代:即Collection集合元素的通过获取方法,在获取元素之前先要判断集合中有没有元素,如果有就把这个元素取出来,然后在判断,如果还有就再去除卡u,一直把集合中的所有元素全部拿出 ...
- YII类的映射表机制
<?php /** * Created by PhpStorm. * Date: 2016/5/25 * Time: 19:09 * * YII的类的映射表 */ namespace front ...
- 不安装运行时运行.NET程序
好久没写文章了,有些同学问我公众号是不是废了?其实并没有.其实想写的东西很多很多,主要是最近公司比较忙,以及一些其他个人原因没有时间来更新文章.这几天抽空写了一点点东西,证明公众号还活着. 长久以来的 ...
- ansible一键安装GreatSQL并构建MGR集群
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 利用ansible一键安装GreatSQL并完成MGR部署. 本次介绍如何利用ansible一键安装GreatSQL并完成 ...
- day19--Java集合02
Java集合02 6.ArrayList ArrayList的注意事项: Permits all element , including null ,ArrayList 可以加入null ,并且可以加 ...
- MyBatis 04 实战
增删改查实现 在实际使用中,MyBatis 的使用遵从一定的规范. 常用的增删改查的 MyBatis 实现如下: Mapper.xml <?xml version="1.0" ...
- HCIA-Datacom 2.2 实验:OSPF路由协议基础实验
前言:才发现IA也要学OSPF,忍不住吐槽一句,现在太卷了! OSPF简介: 开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网 ...
- Web 前端实战:JQ 实现下拉菜单
实现过程 实现一个简易的鼠标悬停菜单项显示其子项的下拉框控件.将用到 CSS 绝对定位.流式布局.动画等:JQuery 鼠标移入和移出事件.DOM 查找.效果图如下: HTML 结构: <div ...
- 痞子衡嵌入式:浅析IAR下调试信息输出机制之硬件UART外设
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR下调试信息输出机制之硬件UART外设. 在嵌入式世界里,输出打印信息是一种非常常用的辅助调试手段,借助打印信息,我们可以比较容易地 ...
- 究竟什么是Shadow DOM?
shadow dom 是什么? 顾名思义,shadow dom直译的话就是影子dom,但我更愿把它理解为DOM中的DOM.因为他能够为Web组件中的 DOM和 CSS提供了封装,实际上是在浏览器渲染文 ...