美文网首页每天写1000字程序员每周500字
shell 文件处理入门:插入文本到文件

shell 文件处理入门:插入文本到文件

作者: 刘思宁 | 来源:发表于2017-08-22 12:13 被阅读893次

在大多数服务器上,不会预先装上 ruby 或者 python 这些语言。这时,你要想操作一些文件,一个合理的选择就是使用 shell。也就是你在 terminal中输入的那些指令。今天我们开始第一节。

首先,打开你的 Terminal。

改写文件

如果你刚刚创建了一个文件,比如touch a.txt,a 里面现在是空的。你想要往里面加上一句话,怎么操作。你可以打开文件,用 vim,用 atom 都可以。但你要可以用 shell 命令直接插入一句话。

echo 'I want to instert a sentence' > a.txt

这里面的意思是,把 echo 的返回值写入 a.txt。而 echo 命令的返回值就是你在后面写的那个字符串。

为什么要用这样的方法来插入文本呢?出了上述说到的编程环境的限制外,还有一个限制是,有些情况下,你需要机器自动插入一些文本到文件,不能依靠跟人的交互来写入文本。比如说,你丢给服务器一个 nginx 的安装脚本,告诉服务器去安装 nginx。但是,在安装过程中, 你需要更改一些 nginx 的参数,但你有不想在那里看着服务器。所以,你需要把参数事先写好,等到一定时机是自动插入到一些文件中。而不用你在旁边等着。

插入到末尾

刚才的命令有一个问题,就是不论 a.txt 中有没内容,>这个命令会吧 a 中原有的内容都覆盖。这可能不是你期望的。

如果你用echo 'I want to append a sentence' >> a.txt。这样新插入的这句话就在 a.txt 的最后一段。

读取一个文件并插入到另外一个文件

有时候,我们想在一个文件中插入的内容,已经在另外一个文件中事先写好了。这个时候,可以先读取事先写好的文明。

cat a.txt > b.txt

这个命令就是在读取a,然后把 b 改写成刚刚读取到的内容。

你可能会觉得,这不就是复制么,为什么要用>呢。是的,这可以用cp代替。但是下面这个命令就不能用 cp 代替了。

cat a.txt >> b.txt

Recall

  1. >帮你把某个命令的返回值写入一个文件
  2. >>帮你把某个命令的返回值插入到某个文件的末尾
  3. 我们可以先读取一个文件,然后用>或者>>,把内容插入到另外一个文件。

相关文章

  • shell 文件处理入门:插入文本到文件

    在大多数服务器上,不会预先装上 ruby 或者 python 这些语言。这时,你要想操作一些文件,一个合理的选择就...

  • 八宝粥

    shell写入多行文本到文件

  • shell的分类

    shell的分类 文件查看 cat/more/less/tail/tee/>/< 文本处理 grep/aw...

  • Learn Shell 第一课

    Learn Shell 第一课 shell运行 shell可以在终端用命令行运行,也可以将命令写入到文本文件,文件...

  • 2020-05-22程序运行原理

    预处理阶段:将#后面的头文件插入到程序文本中,得到.i文件编译阶段:将.i翻译成.s,包含汇编语言程序汇编阶段:....

  • 常用命令(持续更新)

    处理文本常用单行命令,持续更新~1.awk 匹配两个文件内容### Linux Shell中使用awk完成两个文件...

  • Linux shell文件及文本处理指令总结

    Linux shell文件及文本处理指令总结 《跟老男孩学linux运维读书笔记》 cat 显示文本$ cat f...

  • PDF如何插入文本,PDF插入文本的方法

    PDF文件如何插入文本呢?现在PDF文件对很多人来说都是不可缺少的,但是有些时候想要给PDF文件中插入一些文本的话...

  • linux常用命令

    文件、目录类 文件查看、处理 文件查看、处理 文本编辑 vi / vim 底行模式下 文本编辑 vi / vim ...

  • seqkit-fa&fq文件处理利器

    作为生信入门训练,我们常用perl python等脚本语言实现对基因组文件的处理,练习常规的文本文件处理。最近再做...

网友评论

    本文标题:shell 文件处理入门:插入文本到文件

    本文链接:https://www.haomeiwen.com/subject/vctldxtx.html