12、本节主要学习在linux系统下文本文件内容显示的相关命令,这些命令有cat、tac等。
12.1 cat
使用cat命令可以显示文本文件的内容,也可以把几个文件内容附加到另一个文件中。
12.1.1 命令语法:
cat[选项][文件]
12.1.2选项参数:
cat命令选项含义
选项 选项含义
-n 对输出的所有行编号
-b 对非空输出行编号
-s 当遇到有连续两行以上的空白行时,就替换为一行的空白行
-E 在每行结束处显示$
12.1.3 实例:
例1:显示/etc/grub.conf文件的内容
[root@ser01 ~]# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/vda3
# initrd /initrd-[generic-]version.img
#boot=/dev/vda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=3acde1c8-9946-441b-a5e6-2e53b6530f87 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img
例2:把文件textfile1的文件内容加上行号后输入到textfile2文件中
[root@ser01 ~]# cat textfile1
a
b
c
[root@ser01 ~]# cat -n textfile1 > textfile2
[root@ser01 ~]# cat textfile2
1 a
2 b
3 c
例3:把文件textfile1和textfile2的文件内容加上行号(空白行不加)之后将内容附加到文件textfile3中
[root@ser01 ~]# cat textfile1
a
b
c
[root@ser01 ~]# cat textfile2
1 a
2 b
3 c
[root@ser01 ~]# cat -b textfile1 textfile2 >> textfile3
[root@ser01 ~]# cat textfile3
1 a
2 b
3 c
4 1 a
5 2 b
6 3 c
例4:在每行的结尾处附加$符号显示/etc/passwd文件
[root@ser01 ~]# cat -E /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$
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin$
operator:x:11:0:operator:/root:/sbin/nologin$
games:x:12:100:games:/usr/games:/sbin/nologin$
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin$
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin$
nobody:x:99:99:Nobody:/:/sbin/nologin$
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin$
saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin$
postfix:x:89:89::/var/spool/postfix:/sbin/nologin$
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin$
例5:使用cat命令创建mm.txt文件
[root@ser01 ~]# cat >mm.txt<<EOF
> Hello //在此输入字符Hello
> Linux //在此输入字符Linux
> EOF //在此输入字符EOF,会自动回到Shell提示符界面
[root@ser01 ~]# cat mm.txt
Hello
Linux
//查看mm.txt文件内容
12.2 tac
使用tac命令可以从最后一行显示文件内容,可以看出tac是cat的反向显示。
12.2.1 命令语法:
tac[选项][文件]
12.2.2 选项参数:
tac命令选项参数含义
选项 选项含义
-b 在行前而非行尾添加分隔标志
-r 将分隔标志视作正则表达式来解析
-s<字符> 使用指定字符串代替换行作为分隔标志
12.2.3 实例:
例1:从最后一行开始显示/root/pu文件的内容。
[root@ser01 ~]# cat /root/pu
Hello Linux
Hello Centos
[root@ser01 ~]# tac /root/pu
Hello Centos
Hello Linux
例2:使用字符s代替换行作为分隔标志显示/root/pu文件内容。
[root@ser01 ~]# tac -s R /root/pu
Hello Linux
Hello Centos
【Linux命令详解】12、文本内容显示—[ cat、tac]
原文地址:http://anton.blog.51cto.com/424639/1694710