【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2009安全硬件市场趋势暨我们思科ASA5500优势!

    2009安全硬件市场趋势暨我们思科ASA5500优势!

    2021年7月29日
    72
  • ZooKeeper ACL权限设置

    ZooKeeper ACL权限设置

    2022年3月4日
    34
  • 机器学习影响现代云计算的五种方式

    机器学习影响现代云计算的五种方式

    2022年3月7日
    43
  • 文件锁的使用浅析_文件加密软件

    文件锁的使用浅析_文件加密软件概述在多数unix系统中,当多个进程/线程同时编辑一个文件时,该文件的最后状态取决于最后一个写该文件的进程。对于有些应用程序,如数据库,各个进程需要保证它正在单独地写一个文件。这时就要用到文件锁。文件锁(也叫记录锁)的作用是,当一个进程读写文件的某部分时,其他进程就无法修改同一文件区域。能够实现文件锁的函数主要有2个:flock和fcntl。早期的伯克利版本只支持flock,该…

    2022年4月19日
    61
  • ExpandableListView实例(一)_数据库增删改查处理和listitem点击长按处理

    ExpandableListView实例(一)_数据库增删改查处理和listitem点击长按处理本例说明:1.实例中表现层与数据处理层分开,代码可复用性强,如果能看懂代码对算法会有提高.2.组和子条目上”点击”事件处理,能够区分操作的是组还是子条目,并且得到组和子条目的内容.3.组和子条目上”长按”事件处理,能够区分组和子条目,并且得到组和子条目的内容.4.自定义条目样式,灵活与数据库中字段绑定.5.实现对DB的增删改查,并且操作后自动刷新.6.使用数据库处理框架AH

    2022年6月23日
    26
  • php分页样式,thinkphp分页样式修改

    php分页样式,thinkphp分页样式修改用tp框架内置的分页很容易实现分页功能。首先是实例化数据表,然后统计数据,最后进行实例化分页类并按自己需要显示。但是内置的分页样式可能不喜欢,感觉不是那么友好。所有可以个性化修改一下。手册也提供了方法进行修改个性化样式。这是效果图这个分页效果我还是蛮喜欢的,作为我留言吧的分页足够了。首先当然是修改tp的样式$configs=$setting->showAll();$count=$…

    2022年7月17日
    12

发表回复

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

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