关于linux中cat命令的信息( 二 )


[root@localhost ~]# cat /etc/fstab /etc/profile
cat 对于内容极大的文件来说,可以通过管道 | 传送到more 工具,然后一页一页的查看;
[root@localhost ~]# cat /etc/fstab /etc/profile | more
2、cat 的创建、连接文件功能实例;
cat 有创建文件的功能,创建文件后,要以EOF或STOP结束;
[root@localhost ~]# catlinuxcat.txtEOF注:创建linuxcat.txt文件;
如下图所示:
cat 还有向已存在的文件追加内容的功能;
[root@localhost ~]# catlinuxsir.txtEOF注:我们向linuxcat.txt文件追加内容;
(注:这里发现被我写错linux中cat命令了 ,  EOF 写成了 OEF  , 输出的时候要对应输出,咱不去究其原因)
cat 连接多个文件的内容并且输出到一个新文件中;
命令是:
[root@localhost ~]# cat name1 name2 name3name4
注意: 其原理是把三个文件的内容连接起来,然后创建name4文件,并且把几个文件的内容同时写入name4中 。特别值得一提的是 , 如果您输入到一个已经存在的name4文件,会把name4内容清空 。(****见文末例子****)
实例: 假设我们有sir01.txt、sir02.tx和sir03.txt  , 并且内容如下;[root@localhost ~]# cat sir01.txt
123456
i am testing
[root@localhost ~]# cat sir02.txt
56789
BeiNan Tested
[root@localhost ~]# cat sir03.txt
09876
linuxsir.org testing
我想通过cat 把sir01.txt、sir02.txt及sir03.txt 三个文件连接在一起(也就是说把这三个文件的内容都接在一起)并输出到一个新的文件sir04.txt 中 。
[root@localhost ~]#catsir01.txt sir02.txt sir03.txt** **sir04.txt
[root@localhost ~]# **more **sir04.txt
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testing
cat 把一个或多个已存在的文件内容,追加到一个已存在的文件中
[root@localhost ~]# cat sir00.txt
linuxsir.org forever
[root@localhost ~]#catsir01.txt sir02.txt sir03.txt** **sir00.txt
[root@localhost ~]# cat sir00.txt
linuxsir.org forever
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testing
警告:我们要知道********意思是创建 , ********是追加 。千万不要弄混了 。造成失误可不是闹着玩的;
cut是一个选取命令 , 就是将一段数据经过分析 , 取出我们想要的 。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的 。
语法结构:
cut[-bn] [file] 或
cut [-c] [file]或
cut [-df] [file]
选项参数:
-b :以 字节 为单位进行分割 。这些字节位置将忽略多字节字符边界 , 除非也指定了 -n 标志 。
-c :以 字符 为单位进行分割 。
-d : 自定义分隔符  , 默认为制表符 。
-f:与-d一起使用,指定显示哪个区域 。
-n :取消分割多字节字符 。仅和 -b 标志一起使用 。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的br /范围之内,该字符将被写出;否则 , 该字符将被排除 。
使用说明:
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出 。
如果不指定 File 参数 , cut 命令将读取标准输入 。必须指定 -b、-c 或 -f 标志之一 。
上一篇中也说到cut的使用 。
值得注意的是 '-' 表示的是一个区间, ‘,’ 表示的是单个字符
例子二: 以 ‘:’ 为分隔符,截取PATH环境变量第五个位置的字符
先来看看PATH变量存的内容是什么
[2013012974@teach shell]$ echo $PATH

推荐阅读