您好,登錄后才能下訂單哦!
小編給大家分享一下shell中如何實現插入文本到文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
首先,打開你的 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
>幫你把某個命令的返回值寫入一個文件
>>幫你把某個命令的返回值插入到某個文件的末尾
我們可以先讀取一個文件,然后用>或者>>,把內容插入到另外一個文件。
以上是“shell中如何實現插入文本到文件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。