【043】Linux 的 cat 命令各种用法

【043】Linux 的 cat 命令各种用法除了用cat查看文件外,还可以用cat生成文件、清空文件、覆盖文件和在文件尾部添加新的内容。同时写了,在用cat命令向文件写入内容的时候,对于$符号如何处理。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、最简单的用法。只查看文件内容:

:~# cat a.txt
aaaaaaaaa
bbbbbbbbccc
ddd
ccee
ee
root@abb:~#

Jetbrains全家桶1年46,售后保障稳定

二、查找文件中的内容

:~# cat a.txt | grep cc
bbbbbbbbccc
ccee

三、利用cat创建文件

如果原来没有 b.txt 文件。那么:

:~# cat >b.txt <<EOF
> EOF

输入第一行后,输入EOF,回车,就可以生成一个 b.txt 文件。其中EOF是告诉 bash 哪个符号代表文件结束。当然你也可以使用自己习惯的符号。

四、利用cat清空文件内容

如果 c.txt 文件有很多内容,而你想要清空的话,同样可以使用上面提到的命令形式:

:~# cat >c.txt <<EOF
> EOF

五、利用cat向文件中写入内容,并覆盖以前的内容。
下面代码的步骤是这样的:先查看到 c.txt 没有内容,就向 c.txt 文件里写入内容,然后又写入新内容覆盖掉。

:~# cat c.txt
:~# cat >c.txt <<EOF
> 1111111
> 2222222
> EOF
:~# cat c.txt
1111111
2222222
:~# cat >c.txt <<EOF
> 33333333
> EOF
:~# cat c.txt
33333333
:~#

六、用 cat 命令向文件中写入内容的时候,对于 $ 符号的处理。

有些时候可能会利用cat命令生成一些 Shell 脚本文件。这个时候如果直接写 $ 符号,有可能被认为是调用变量,导致无法写入文件。
比如像下面一样直接输入 $ 的话:

:~# cat >d.sh <<EOF
> DATE=$(date +%Y%m%d)
> mkdir /root/$DATE
> EOF


那么 $ 符号并没有输入到文件中。文件内容会变成如下的样子

:~# cat d.sh
DATE=20161006
mkdir /root/

那么如果我们要把 $ 符号正常输入到文件中,该怎么办呢?
答案是需要在 $ 符号前面加 \ 。命令如下:

~# cat >d.sh <<EOF
> DATE=\$(date +%Y%m%d)
> mkdir /root/\$DATE
> EOF

这样把 $ 转义,就可以得到正常的文件内容了:

:~# cat d.sh
DATE=$(date +%Y%m%d)
mkdir /root/$DATE

七、向文件的尾部写入内容。
与写入新内容覆盖源文件相似。只是把原来的 > 换成 >> 即可。
可以像下面这样在文件尾部加入文字内容。

:~# cat >>a.txt <<EOF
> 11111
> 222222

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207130.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java IO流详尽解析「建议收藏」

    java IO流详尽解析「建议收藏」流的概念和作用,好吧,百度了一张图片,不错学习JavaIO,不得不提到的就是JavaIO流。流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流字符流和字节流字符流的由

    2022年5月22日
  • 职称计算机考试模块教程怎么用,【职称计算机考试模块怎么选择?】- 环球网校…

    职称计算机考试模块教程怎么用,【职称计算机考试模块怎么选择?】- 环球网校…【摘要】环球网校分享的“职称计算机考试模块怎么选择?”,以下介绍了职称计算机考试模块选择相关资料,希望对大家有帮助,更多资料敬请关注环球网校职称计算机考试频道,网校会及时更新考试资讯……问:职称计算机考试模块怎么选择?答:全国职称计算机考试模块一共设置有13类24个模块,可供各位考生选择一般评聘高级职务人员自选4个模块,评聘中级职务人员自选3个模块,评聘初级职务人员自选2个模块。在职称计算机考试模…

    2022年6月2日
  • allocatememory(an out of memory)

    仅作为记录,大佬请跳过。仅需减小batchsize展示:即可运行。注博主的这个程序减小batchsize就行了,可能不同的博友们的程序不一样,也有的大佬博主使用不计算梯度或释放内存的方式不计算梯度——传送门withtorch.no_grad()释放内存——传送门ifhasattr(torch.cuda,’empty_cache’): torch.cuda.empty_cache()…

    2022年4月10日
  • web漏洞扫描工具集合「建议收藏」

    web漏洞扫描工具集合「建议收藏」最好用的开源Web漏洞扫描工具梳理链接:www.freebuf.com/articles/web/155209.html赛门铁克2017年互联网安全威胁报告中提出在他们今年扫描的网站中,有76%都

    2022年8月5日
  • 创建索引sql 语句「建议收藏」

    创建索引sql 语句「建议收藏」1、创建表的同时指定createtablet1( idintnotnull, namechar(30)notnull, uniqueindexUniqIdx(id))2、在已经存在的表创建索引使用ALTERTABLE语句创建索引1.执行语句altertablebookaddindexBkName(bookname(30))2…

    2022年9月7日
  • 安卓手机修改ntp服务器,修改安卓手机ntp服务器地址「建议收藏」

    安卓手机修改ntp服务器,修改安卓手机ntp服务器地址「建议收藏」修改安卓手机ntp服务器地址内容精选换一换TTL(Time-To-Live)指解析记录在本地DNS服务器中的缓存时间。本地DNS服务器指用户客户端(手机、电脑等)连接Internet网络使用的DNS,默认使用的DNS是宽带运营商自动分配的DNS服务器,用户也可以将该DNS修改为公共DNS服务器,例如,114.114.114.114、8.8.8.8。通过华为云购买的弹性云服务器默认硬件要求如表1所…

    2022年6月9日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号