首页 > 代码库 > 2命令之乐,2.1简介
2命令之乐,2.1简介
2.1简介
一些经常用到的命令是grep、awk、sed和find。
2.2 用cat进行拼接
它通常用于读取、显示或拼接文件内容。用一行命令将来自标准输入以及文件的数据给组合起来,通常做法是通过stdin重定向到一个文件,然后再将这两个文件组合到一起。不过cat可以一次性搞定。
1)cat它本身表示concatenate(拼接)。
用cat读取文件内容的一般写法是:
$ cat file1 file2 file3 ...
这个命令将作为命令行参数的文件内容拼接在一起。
eg:打印单个文件的内容:
$cat file.txt
this is a line inside file.txt
this is the second line inside file.txt
打印多个文件的内容
$cat one.txt two.txt
this is line from one.txt
this is line from two.txt
2)工作原理
cat命令不仅可以读取文件、拼接数据,还能够从标准输入中进行读取。
从标准输入中读取需要使用管道操作符:
OUTPUT_FROM_some commands | cat
类似的,可以用cat将来自输入文件的内容和标准输入拼接在一起,将stdin和另一个文件中的数据结合起来。方法如下
$echo ‘Text through stdin‘ | cat - file.txt
上面代码中,-被作为stdin文本的文件名。
3)补充内容
a、摆脱多余的空白行
有时候文本文件中可能包含多处连续的空白行。如果你需要删除这些额外的空白行,使用如下方法:
cat -s file
另外,也可以用tr删除所有的z空白行。
b、将制表符显示为^|
单从视觉上看很难将制表符通连续的空格区分开。而在用python编写程序时,用于代码缩紧的制表符以及空格是具有特殊含义的。cat有一个特性,可以将制表符着重标记出来。该特性对排除缩紧错误非常有用。用cat命令的-T选项能够将制表符标记成^|。如
$ cat file.py
def function():
var = 5
next = 6
third = 7
$ cat -T file.py
def function():
^|var = 5
next = 6
^|third = 7
c、行号
使用cat命令的-n选项会在输出的每一行内容之前加上行号。cat命令绝不会修改你的文件,它只是根据用户提供的选项在stdout中生成一个修改过的输出而已。
-n甚至会为空白行加上行号。如果你想跳过空白行,可以使用选项-b。
2命令之乐,2.1简介