您好,登錄后才能下訂單哦!
小編給大家分享一下shell中如何實(shí)現(xiàn)插入文本到文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
首先,打開你的 Terminal。
改寫文件
如果你剛剛創(chuàng)建了一個(gè)文件,比如touch a.txt
,a 里面現(xiàn)在是空的。你想要往里面加上一句話,怎么操作。你可以打開文件,用 vim,用 atom 都可以。但你要可以用 shell 命令直接插入一句話。
echo 'I want to instert a sentence' > a.txt
這里面的意思是,把 echo 的返回值寫入 a.txt。而 echo 命令的返回值就是你在后面寫的那個(gè)字符串。
為什么要用這樣的方法來插入文本呢?出了上述說到的編程環(huán)境的限制外,還有一個(gè)限制是,有些情況下,你需要機(jī)器自動(dòng)插入一些文本到文件,不能依靠跟人的交互來寫入文本。比如說,你丟給服務(wù)器一個(gè) nginx 的安裝腳本,告訴服務(wù)器去安裝 nginx。但是,在安裝過程中, 你需要更改一些 nginx 的參數(shù),但你有不想在那里看著服務(wù)器。所以,你需要把參數(shù)事先寫好,等到一定時(shí)機(jī)是自動(dòng)插入到一些文件中。而不用你在旁邊等著。
插入到末尾
剛才的命令有一個(gè)問題,就是不論 a.txt 中有沒內(nèi)容,>這個(gè)命令會(huì)吧 a 中原有的內(nèi)容都覆蓋。這可能不是你期望的。
如果你用echo 'I want to append a sentence' >> a.txt
。這樣新插入的這句話就在 a.txt 的最后一段。
讀取一個(gè)文件并插入到另外一個(gè)文件
有時(shí)候,我們想在一個(gè)文件中插入的內(nèi)容,已經(jīng)在另外一個(gè)文件中事先寫好了。這個(gè)時(shí)候,可以先讀取事先寫好的文明。
cat a.txt > b.txt
這個(gè)命令就是在讀取a,然后把 b 改寫成剛剛讀取到的內(nèi)容。
你可能會(huì)覺得,這不就是復(fù)制么,為什么要用>呢。是的,這可以用cp代替。但是下面這個(gè)命令就不能用 cp 代替了。
cat a.txt >> b.txt
Recall
>幫你把某個(gè)命令的返回值寫入一個(gè)文件
>>幫你把某個(gè)命令的返回值插入到某個(gè)文件的末尾
我們可以先讀取一個(gè)文件,然后用>或者>>,把內(nèi)容插入到另外一個(gè)文件。
以上是“shell中如何實(shí)現(xiàn)插入文本到文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。