一、最简单的用法。只查看文件内容:
:~# cat a.txt
aaaaaaaaa
bbbbbbbbccc
ddd
ccee
ee
root@abb:~#
二、查找文件中的内容
:~# cat a.txt | grep cc
bbbbbbbbccc
ccee
三、利用cat创建文件
如果原来没有 b.txt 文件。那么:
:~# cat >b.txt <
> EOF
输入第一行后,输入EOF,回车,就可以生成一个 b.txt 文件。其中EOF是告诉 bash 哪个符号代表文件结束。当然你也可以使用自己习惯的符号。
四、利用cat清空文件内容
如果 c.txt 文件有很多内容,而你想要清空的话,同样可以使用上面提到的命令形式:
:~# cat >c.txt <
> EOF
五、利用cat向文件中写入内容,并覆盖以前的内容。
下面代码的步骤是这样的:先查看到 c.txt 没有内容,就向 c.txt 文件里写入内容,然后又写入新内容覆盖掉。
:~# cat c.txt
:~# cat >c.txt <
> 1111111
> 2222222
> EOF
:~# cat c.txt
1111111
2222222
:~# cat >c.txt <
> 33333333
> EOF
:~# cat c.txt
33333333
:~#
六、用 cat 命令向文件中写入内容的时候,对于 $ 符号的处理。
有些时候可能会利用cat命令生成一些 Shell 脚本文件。这个时候如果直接写 符号,有可能被认为是调用变量,导致无法写入文件。 比如像下面一样直接输入 的话:
:~# cat >d.sh <
> DATE=$(date +%Y%m%d)
> mkdir /root/$DATE
> EOF
那么 $ 符号并没有输入到文件中。文件内容会变成如下的样子
:~# cat d.sh
DATE=20161006
mkdir /root/
那么如果我们要把 符号正常输入到文件中,该怎么办呢? 答案是需要在 符号前面加 \ 。命令如下:
~# cat >d.sh <
> DATE=$(date +%Y%m%d)
> mkdir /root/$DATE
> EOF
这样把 $ 转义,就可以得到正常的文件内容了:
:~# cat d.sh
DATE=$(date +%Y%m%d)
mkdir /root/$DATE
七、向文件的尾部写入内容。
与写入新内容覆盖源文件相似。只是把原来的 > 换成 >> 即可。
可以像下面这样在文件尾部加入文字内容。
:~# cat >>a.txt <
> 11111
> 222222
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/130150.html