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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。