日期:2014-05-16 浏览次数:20845 次
本文链接:http://codingstandards.iteye.com/blog/801090 ? (转载请注明出处)
?
cat命令的用途是连接文件或标准输入并打印(Concatenate FILE(s), or standard input, to standard output.)。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。
?
将标准输入保存到文件FILE中,如果文件已经存在,则覆盖掉原来的。
格式:cat >FILE
将标准输入追加到文件FILE末尾。
格式:cat >>FILE
显示文件FILE的内容。
格式:cat FILE
显示文件FILE的内容加上行号,需要加上参数-n。行号从1开始。nl命令也可以输出行号。
格式:cat -n FILE
格式:nl FILE
使用-n参数时,所有空行也会显示行号,若忽略掉空行,改用-b就行。
格式:cat -b FILE
当遇到有连续两行以上的空白行,就代换为一行的空白行,可以使用-s参数。
格式:cat -s FILE
将两个文件FILE1和FILE2的内容合并为一个文件FILE。
格式:cat FILE1 FILE2 >FILE
?
[root@web setup]# cat >1.txt
Hello
Bash
Linux
Ctrl+D
[root@web setup]# ls -l 1.txt
-rw-r--r-- 1 root root 17 11-02 21:32 1.txt
[root@web setup]# cat 1.txt
Hello
Bash
Linux
[root@web setup]# cat <1.txt
Hello
Bash
Linux
[root@web setup]#
?
注意粗体部分,here doc可以进行字符串替换。
[root@web setup]# cat >2.txt <<EOF
> Hello
> Bash
> Linux
> PWD=$(pwd)
> EOF
[root@web setup]# ls -l 2.txt
-rw-r--r-- 1 root root 33 11-02 21:35 2.txt
[root@web setup]# cat 2.txt
Hello
Bash
Linux
PWD=/root/setup
[root@web setup]#
?
[root@web setup]# cat -n 1.txt
???? 1? Hello
???? 2? Bash
???? 3? Linux
[root@web setup]# nl 1.txt
???? 1? Hello
???? 2? Bash
???? 3? Linux
[root@web setup]#
?
# 把.bash_profile的内容加载到变量中 TEXT=$(cat .bash_profile) # 打印TEXT内容 echo "$TEXT"
?
[root@web ~]# TEXT=$(cat .bash_profile)
[root@web ~]#
[root@web ~]# echo "$TEXT"
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
??????? . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
[root@web ~]#
?
?
【1】方寸心间 linux cat 命令详解
【2】开发学院 linux cat命令
【3】记录技术点滴 分享生活智慧 linux cat 命令详解
?
?
返回 我使用过的Linux命令系列总目录
?
?