shell文件处理笔记之插入文本到文件的方法
前言
众所周知,如果在大多数服务器上,不会预先装上ruby或者python这些语言。这时,你要想操作一些文件,一个合理的选择就是使用shell。也就是你在terminal中输入的那些指令。本文给大家想写介绍了关于插入文本到文件的相关内容,下面话不多说了,来一起看看详细的介绍:
首先,打开你的Terminal。
改写文件
如果你刚刚创建了一个文件,比如toucha.txt,a里面现在是空的。你想要往里面加上一句话,怎么操作。你可以打开文件,用vim,用atom都可以。但你要可以用shell命令直接插入一句话。
echo'Iwanttoinstertasentence'>a.txt
这里面的意思是,把echo的返回值写入a.txt。而echo命令的返回值就是你在后面写的那个字符串。
为什么要用这样的方法来插入文本呢?出了上述说到的编程环境的限制外,还有一个限制是,有些情况下,你需要机器自动插入一些文本到文件,不能依靠跟人的交互来写入文本。比如说,你丢给服务器一个nginx的安装脚本,告诉服务器去安装nginx。但是,在安装过程中,你需要更改一些nginx的参数,但你有不想在那里看着服务器。所以,你需要把参数事先写好,等到一定时机是自动插入到一些文件中。而不用你在旁边等着。
插入到末尾
刚才的命令有一个问题,就是不论a.txt中有没内容,>这个命令会吧a中原有的内容都覆盖。这可能不是你期望的。
如果你用echo'Iwanttoappendasentence'>>a.txt。这样新插入的这句话就在a.txt的最后一段。
读取一个文件并插入到另外一个文件
有时候,我们想在一个文件中插入的内容,已经在另外一个文件中事先写好了。这个时候,可以先读取事先写好的文明。
cata.txt>b.txt
这个命令就是在读取a,然后把b改写成刚刚读取到的内容。
你可能会觉得,这不就是复制么,为什么要用>呢。是的,这可以用cp代替。但是下面这个命令就不能用cp代替了。
cata.txt>>b.txt
Recall
>帮你把某个命令的返回值写入一个文件
>>帮你把某个命令的返回值插入到某个文件的末尾
我们可以先读取一个文件,然后用>或者>>,把内容插入到另外一个文件。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。