溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

shell中如何實(shí)現(xiàn)插入文本到文件

發(fā)布時(shí)間:2021-08-05 15:14:09 來源:億速云 閱讀:1518 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI