转:http://www.cnblogs.com/lwgdream/archive/2013/11/06/3409802.html

前言

cat命令用于读取文本文件,并且能够显示行号、特殊字符等。

使用说明

-n 对每行进行编号,包括空行

-b 对每行进行编号,不包括空行

-s 压缩连续的空行

-A 显示特殊字符,换行符、制表符等

使用举例

cat 读取文本文件

   1: [root@master lianxi]# cat f
   2: # Generated automatically from man.conf.in by the
   3: # configure script.

cat 从标准输入读取

通过管道读取其命令的输出,cmd | cat -

   1: [root@master lianxi]# echo "hello world" | cat
   2: hello world
   3: [root@master lianxi]# echo "hello world" | cat -
   4: hello world

-A 显示特殊字符

换行符$、制表符^I

   1: [root@master lianxi]# cat f
   2: # Generated automatically from man.conf.in by the
   3: # configure script.     config
   4: [root@master lianxi]# cat -A f
   5: # Generated automatically from man.conf.in by the$
   6: # configure script.^Iconfig$

添加行号

-n 每行都添加行号,包括空行

   1: [root@master lianxi]# cat -n f
   2:      1  # Generated automatically from man.conf.in by the
   3:      2
   4:      3  # configure script.     config

-b 除了空行,其他每行都加上行号

   1: [root@master lianxi]# cat -b f
   2:      1  # Generated automatically from man.conf.in by the
   3:  
   4:      2  # configure script.     config

-s 压缩连续空行

如下,该文件有3个连续的空行,被压缩成了一个

   1: [root@master lianxi]# cat -n f
   2:      1  # Generated automatically from man.conf.in by the
   3:      2
   4:      3
   5:      4
   6:      5  # configure script.     config
   7: [root@master lianxi]# cat -s -n f
   8:      1  # Generated automatically from man.conf.in by the
   9:      2
  10:      3  # configure script.     config

合并文件

cat f1 f2

   1: [root@master lianxi]# cat f 
   2: # Generated automatically from man.conf.in by the
   3:  
   4:  
   5:  
   6: # configure script.     config
   7: [root@master lianxi]# cat f1
   8: # Generated automatically from man.conf.in by the
   9: # configure script.     config
  10: [root@master lianxi]# cat f f1
  11: # Generated automatically from man.conf.in by the
  12:  
  13:  
  14:  
  15: # configure script.     config
  16: # Generated automatically from man.conf.in by the
  17: # configure script.     config

cat f1 – f2  - 表示从标准输入读取

cat 是一次读取多个文件,先读取f1,再从 – (标准输入读取),在读取f2

   1: [root@master lianxi]# cat f
   2: lwg
   3: [root@master lianxi]# cat f1
   4: yangzhen
   5: [root@master lianxi]# echo "love" | cat f - f1
   6: lwg
   7: love
   8: yangzhen

特殊说明

1)cat读取的是文本文件,读取文件文件肯定会因为无法“正确”解码而出现乱码

2)cat 读取文本文件的时候,是按照系统默认的编码方式来进行解码的。如果文本文件本身编码和默认编码不一致,可能也会出现乱码。可以先通过iconv命令来进行转码

3)cat命令读取多个是顺序依次读取的

总结

用cat命令来读取文本文件,也是linux中最常用的命令之一。

linux命令详解:cat命令的更多相关文章

  1. linux shell 脚本攻略学习14--head命令详解,tail命令详解

    当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除 ...

  2. linux shell 脚本攻略学习13--file命令详解,diff命令详解

    一.file命令详解 find命令可以通过查看文件内容来找出特定类型的文件,在UNIX/ Linux系统中,文件类型并不是由文件扩展名来决定的(windows中却正是这么做的),file命令的目的是从 ...

  3. linux shell 脚本攻略学习 -- head命令详解, tail命令详解

    当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除 ...

  4. [转]dd命令、cp命令详解+dd命令、cp命令对比 ---delong

    出处:http://blog.csdn.net/sun_app/article/details/18263299 1.dd命令详解 1)中文man手册dd的解释 NAME       dd - 转换和 ...

  5. linux命令大全之watch命令详解(监测命令运行结果)

    watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行.在Linux下,watch是周期性的执行下个 ...

  6. linux命令详解:df命令

    转:http://www.cnblogs.com/lwgdream/p/3413579.html 前言 df命令用来查看系统的space和inode使用情况,也是常用命令之一 使用说明 -a 显示所有 ...

  7. linux系统find命令详解+xargs命令 、exec命令

    find 作用:查找文件 1.name: 指定文件名 例子1. 找到以du结尾的文件 ╭─root@localhost.localdomain ~ ╰─➤ find / -name "*du ...

  8. tar 命令详解 / xz 命令

    ]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的 ...

  9. top显示命令详解+top命令使用

    http://blog.csdn.net/u014226549/article/details/22041289

  10. Linux CAT与ECHO命令详解 <<EOF EOF

    Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: .一次显示整个文件. $ cat filename .从键盘 ...

随机推荐

  1. js万年历

    首先,注意: 1.延迟执行     window.setTimeout(    ,     )     里面的时间是以毫秒计算的 2.间隔执行    window.setInterval(     , ...

  2. Android Service完全解析

    Service的基本用法 1.新建一个Android项目,新建一个MyService继承自Service,并重写父类的onCreate(),onStartCommand()方法和onDestory() ...

  3. UVALive 4764 简单dp水题(也可以暴力求解)

    B - Bing it Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status ...

  4. URAL 1934 spfa算法

    D - Black Spot Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Subm ...

  5. nginx限速白名单配置

    在<nginx限制连接数ngx_http_limit_conn_module模块>和<nginx限制请求数ngx_http_limit_req_module模块>中会对所有的I ...

  6. Qt编程的一些技巧

    1.Qt程序在运行过程中,调用函数(如lcdNumber->display(num))显示数据到界面上时,并不会马上刷新屏幕显示,而是要等主程序运行到函数a.exec()时,才刷新屏幕,如下 因 ...

  7. qemu中device和driver的区别 使用9p文件系统

    qemu配置中经常会出现-driver/-device的选项,可以理解成-driver是后端设备,即一个实际的物理的磁盘:device是把这块磁盘插入到虚机中的pci控制器中. 这样的话,虚机也能看到 ...

  8. Struts2基本程序演示

    Struts2启动配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns=" ...

  9. jmeter的build.xml

    <?xml version="1.0"?><!--   Licensed to the Apache Software Foundation (ASF) unde ...

  10. [洛谷P1903][国家集训队]数颜色

    题目大意:有$n$支画笔,有两个操作 $Q\;l\;r:$询问$[l,r]$中有几种颜色 $R\;p\;Col:$把第$p$支画笔的颜色改成$Col$ 题解:带修莫队,分为$n^{\frac{1}{3 ...