Linux【2】-管理文件-4-1-内容查看-cat

cat 由第一行开始显示档案内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示档案内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
od 以二进制的方式读取档案内容!

一、cat

cat 是 Concatenate (连续)的简写, 主要的功能是将一个档案的内容连续的印出在屏幕上面!

三个功能:

  1. 连接几个文件
  2. 从键盘创建文件
  3. 查看文件(不支持上翻,适用于小文件)

用法:

[root@www ~]# cat [-AbEnTv]

选项与参数:

-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字符 $ 显示出来;
-n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
-s  当遇到有连续 2 行以上的空白行时,就替换为 1 行的空白行。

注意,cat 命令用于查看文件内容时,不论文件内容有多少,都会一次性显示。如果文件非常大,那么文件开头的内容就看不到了。不过 Linux 可以使用PgUp+上箭头组合键向上翻页,但是这种翻页是有极限的,如果文件足够长,那么还是无法看全文件的内容。 因此,cat 命令适合查看不太大的文件。

范例一:检阅 /etc/issue 这个档案的内容

[root@www ~]# cat /etc/issue
CentOS release 5.3 (Final)
Kernel \r on an \m

范例二:承上题,如果还要加印行号呢?

[root@www ~]# cat -n /etc/issue
1 CentOS release 5.3 (Final)
2 Kernel \r on an \m
3
# 看到了吧!可以印出行号呢!这对于大档案要找某个特定的行时,有点用处!
# 如果不想要编排空白行的行号,可以使用『cat -b /etc/issue』,自己测试看看:

范例三:将 /etc/xinetd.conf 的内容完整的显示出来(包含特殊字符)

[root@www ~]# cat -A /etc/xinetd.conf
#$
....(中间省略)....
$
defaults$
{$
# The next two items are intended to be a quick access place to$
....(中间省略)....
^Ilog_type^I= SYSLOG daemon info $
^Ilog_on_failure^I= HOST$
^Ilog_on_success^I= PID HOST DURATION EXIT$

....(中间省略)....
includedir /etc/xinetd.d$

【例 2】将文件 file1.txt 和 file2.txt 的内容合并后输出到文件 file3.txt 中。

[root@localhost base]# ls
file1.txt    file2.txt
[root@localhost base]# cat file1.txt
http://c.biancheng.net(file1.txt)
[root@localhost base]# cat file2.txt
is great(file2.txt)
[root@localhost base]# cat file1.txt file2.txt > file3.txt
[root@localhost base]# more file3.txt
#more 命令可查看文件中的内容
http://c.biancheng.net(file1.txt)
is great(file2.txt)
[root@localhost base]# ls
file1.txt    file2.txt    file3.txt

报错:

/bin/cat: Argument list too long

解决办法:

find process/sort_5/ -type f  -name '*.tsv' -exec  cat {} + |sort |uniq |awk '{print $0 |"sort -r -n -k2,3"}' >process/sort_5/result.tsv;

参考资料

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn