如何使用echo指令向檔案寫入內容

2021-08-04 03:06:06 字數 2103 閱讀 4194

0.前言

本文總結如何使用echo命令向檔案中寫入內容,例如使用echo指令覆蓋檔案內容,使用echo指令向檔案追加內容,使用echo指令往檔案中追加製表符。

echo向檔案中輸出內容的基本方法是使用io重定向指令——「>」,預設情況下echo輸出到標準輸出中,使用》指令可重定向輸出到檔案中。

1.echo指令基本用法

linux官方使用者手冊——echo指令

輸入指令獲得幫助

sudo echo –help

返回內容如下

用法:echo [短選項]... [字串]...  

或:echo 長選項

將 string 回顯到標準輸出。

-n 不尾隨換行符

-e 啟用解釋反斜槓的轉義功能

-e 禁用解釋反斜槓的轉義功能(預設)

--help 顯示此幫助資訊並退出

--version 顯示版本資訊並退出

若-e 可用,則以下序列即可識別:

\\ 反斜槓

\a 響鈴聲

\b 退格

\c 不再產生新的輸出

\e 轉義符

\f 換頁

\n 新行

\r 回車

\t 水平製表符

\v 豎直製表符

\0nnn 位元組數以八進位制數 nnn (1至3位)表示

\xhh 位元組數以十六進製制數 hh (1至2位)表示

2.覆蓋檔案內容

【示例指令碼】test.sh

使用》指令覆蓋檔案原內容並重新輸入內容,若檔案不存在則建立檔案。

!/bin/bash

echo 「raspberry」 > test.txt

【操作過程】

修改許可權,指令碼可執行

chmod u+x test.sh

./test.sh

【檔案內容】

raspberry

3.追加檔案內容

【示例指令碼】test.sh

使用》指令向檔案追加內容,原內容將儲存。

#!/bin/bash  

echo

"raspberry" > test.txt

echo

"intel galileo" >> test.txt

【操作過程】

修改許可權,指令碼可執行

chmod u+x test.sh

./test.sh

【檔案內容】

請注意echo指令預設在行尾增加回車(\n),所以此處顯示兩行。

raspberry

intel galileo

4.輸入轉移字元

使用-e引數可啟用轉移字元。下面通過echo指令向檔案寫入乙個json資料報。如果不熟悉json格式請參考——【前端學習——json格式詳解】

【示例指令碼】test-json.sh

#!/bin/bash  

echo

-e"" >> test-json.txt

【說明】

此處用到了兩處轉移字元,\t製表符,\」雙引號。

【操作過程】

修改許可權,指令碼可執行

chmod u+x test-json.sh

./test-json.sh

【檔案內容】

5.使用變數

上面的指令碼中3處使用了檔名稱test-json.txt,如果檔名稱需要修改那麼就需要修改3處,這樣的操作顯得麻煩些,為了簡化操作可以使用變數簡化指令碼。

【示例指令碼】test-json.sh

#!/bin/bash  

file="test-json.txt"

echo

-e"" >> $file

【操作過程】

修改許可權,指令碼可執行

chmod u+x test-json.sh

./test-json.sh

【檔案內容】

**:

php如何向檔案中寫入換行

今天程式設計,發現向檔案中寫入換行失敗了 試了很久都沒找到辦法 突然之間想到乙個東東以前看書見過後來還是用這個東東給解決了 現在寫出來預防將來忘記也希望能幫到需要幫助的朋友 直接看 stream fopen robots.txt w fwrite stream,你換行了嗎?r n我已經換行了 注意 ...

如何向json檔案中寫入資料

先要建立乙個寫資料的類 其中folk是個實體類 class myjsonwriter public void setfilepath string filepath catch ioexception e public string getjsondata jsonarray jsonarray n...

向檔案寫入整數失敗

在將乙個整數寫入檔案時,執行結果沒問題,但檔案中的內容卻不是寫入的整數,看上去像亂碼,不知為何?請高手指教。例如,我是這樣寫的 int fd fd 指向的檔案存在,且為空,0 byte int tick number 0x12345678 rval write fd,tick number,size...