第8章 文本过滤与处理

1.cat命令

用于查看文件内容
root@dsrw ~]# cat anaconda-ks.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --all --initlabel --drives=sda
# Use graphical install

[root@dsrw ~]# cat -n anaconda-ks.cfg
     1	#version=RHEL8
     2	ignoredisk --only-use=sda
     3	autopart --type=lvm
     4	# Partition clearing information
     5	clearpart --all --initlabel --drives=sda
     6	# Use graphical install
     7	graphical

2.more命令

按页来查看文件的内容,还支持直接跳转行等功能
[root@dsrw ~]# more -10 anaconda-ks.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --all --initlabel --drives=sda
# Use graphical install
graphical
repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
# Use CDROM installation media
cdrom

3.less命令

主要用来浏览文件内容,与more命令的用法相似,不同于more命令的是,less命令可往回卷动浏览以看过的部分。
[root@dsrw ~]# less anaconda-ks.cfg
# Network information
network  --bootproto=dhcp --device=ens160 --onboot=off --ipv6=auto --no-activate
network  --hostname=dsrw.com
# Root password
rootpw --iscrypted $6$aeUyNMB4DUUXyuDl$PbtnoHzP8kYp5PJFopkNgswMXa4LhD4u1cBVCvIV9QyhBd7qRiikkDSBPv6q2ut8LduUNngzmml3rVc.ODT9v.
# X Window System configuration information
xconfig  --startxonboot
:

4.grep命令

文本搜索工具
[root@dsrw ~]#  grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

[root@dsrw ~]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash

[root@dsrw ~]#  grep dsrw /etc/passwd /etc/shadow
/etc/passwd:dsrw:x:1000:1000:dsrw:/home/dsrw:/bin/bash
/etc/shadow:dsrw:$6$MNw6AtrBkE9Ag/NY$.trDB2VRJGndE2jI.RdIu5SE9W3KWpORXbboPnWhSK

[root@dsrw ~]# grep -v "#" /etc/samba/smb.conf.example > /etc/samba/smb.conf
/etc/samba/smb.conf   #除去“#”号输出

5.head 命令

可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。
[root@dsrw ~]# head anaconda-ks.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --all --initlabel --drives=sda
# Use graphical install
graphical
repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
# Use CDROM installation media
Cdrom

6.tail命令

用于显示指定文件末尾内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件,默认显示最后 10 行。
[root@dsrw ~]# tail anaconda-ks.cfg

%addon com_redhat_kdump --disable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

wc命令用于计算字数
[root@dsrw ~]# wc anaconda-ks.cfg
  44  121 1382 anaconda-ks.cfg

8. sort 命令

用于将文本文件内容加以排序。
[root@dsrw ~]# sort /etc/passwd
[root@dsrw ~]# sort -r /etc/passwd

9.tr 命令

用于转换或删除文件中的字符。
[root@dsrw ~]# cat dsrw.txt |tr a-z A-Z 
DSRW.CN 100
DSRW.COM 580
DSRW.COM.CN 90
[root@dsrw ~]# cat dsrw.txt |tr [:upper:]  [:lower:] 
dsrw.cn 100
dsrw.com 580
dsrw.com.cn 90

10.diff 命令

用于比较文件的不同。
[root@dsrw ~]# diff dsrw.txt dsrw.com
1,3c1,4
< dsrw.cn 100
< dsrw.com 580
< dsrw.com.cn 90
---
> DSRW.CN 100
> DSRW.COM 580
> DSRW.COM.CN 90
> 

[root@dsrw ~]# diff dsrw.txt dsrw.com -y -w50
dsrw.cn 100						      |	DSRW.CN 100
dsrw.com 580						      |	DSRW.COM 580
dsrw.com.cn 90						      |	DSRW.COM.CN 90
							      >

11.cmp 命令

用于比较两个文件是否有差异。
[root@dsrw ~]# cmp dsrw.txt dsrw.com
dsrw.txt dsrw.com 不同:第 1 字节,第 1 行

12.rev(reverse)命令

用于将文件中的每行内容以字符为单位反序输出
[root@dsrw ~]# cat dsrw.txt
dsrw.cn 100
dsrw.com 580
dsrw.com.cn 90
[root@dsrw ~]# rev dsrw.txt
001 nc.wrsd
085 moc.wrsd
09 nc.moc.wrsd
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称

    请登录后查看评论内容