曲径通幽论坛

标题: cat (concatenate) [打印本页]

作者: beyes    时间: 2009-1-5 01:36
标题: cat (concatenate)
cat [-AEnTv]
參數:
-A:相當於 -vET 的整合參數,可列出一些特殊字符
-E:將結尾的斷行字元 $ 顯示出來;
-n:列印出行號;
-T:將 [tab] 按鍵以 ^I 顯示出來;
-v:列出一些看不出來的特殊字符

例1,使用 -E 参数
[root@localhost basic_test]# cat -E pass.txt
yes:no:hi:hello:maybe:welcome$
ok:awk:bird:amd:tmd:intel:ati$
name:linux:unix:gnu:bsd:open$
suse:ubuntu:fedora:redhat:now$
china:usa:korea:japan:enland:old$

例2,使用 -n 参数
[root@localhost basic_test]# cat -n pass.txt
1 yes:no:hi:hello:maybe:welcome
2 ok:awk:bird:amd:tmd:intel:ati
3 name:linux:unix:gnu:bsd:open
4 suse:ubuntu:fedora:redhat:now
5 china:usa:korea:japan:enland:old

例3,使用 -v 参数(查看 windows 下的一个 ini 文件)
[root@localhost Desktop]# cat -v desktop.ini
[.ShellClassInfo]^M # ^M 为 win 下的换行符
CLSID={645FF040-5081-101B-9F08-00AA002F954E}^M

例4,使用 -T 参数(查看一包含哟 TAB 符号的文件内容)
[root@localhost Desktop]# cat -T test.txt
tab^Itab^Itab

例5. 使用 -s 参数删减多于空行
测试文本中含有多个空行,如:
oot@bt:~# cat tmp.txt
hello

hello world





hello linux



hello shell
如果希望输出时自动将多于的空行压缩成一个空行,那么可以使用 -s 选项,如:
root@bt:~# cat -s tmp.txt
hello

hello world

hello linux

hello shell
类似地,在 tr 命令中也有相应的这么个选项 -s,它可以将多个重复行压缩成一个单行,比如:
cat tmp.txt |tr -s '\n'
hello
hello world
hello linux
hello shell





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2