Linux常用命令05 - 文本追加到文件中

Bash 中,有多種將文本附加到文件的方法。

要將文本附加到文件,您需要對其具有寫權限。 否則,您將收到一個被拒絕的權限錯誤。

( 使用重定向操作符(>>)

重定向允許您捕獲命令的輸出,並將其作爲輸入發送到另一個命令或文件。 重定向運算符將輸出追加到給定文件。

您可以使用許多命令將文本打印到標準輸出並將其重定向到文件,其中 echoprintf 是最常用的命令。

若要將文本附加到文件,請在重定向操作符後指定文件名:

echo "this is a new line" >> file.txt

RRU1LT
當與 -e 選項一起使用時,echo 命令解釋反斜槓轉義字符,如換行 \n:

echo -e "this is a new line \nthis is another new line" >> file.txt

TFLfuC

如果你想生成更復雜的輸出,可以使用 printf 命令來指定輸出的格式:

printf "Hello, I'm %s.\n" $USER >> file.txt

jogmpf

另一種將文本附加到文件的方法是使用 Here 文檔(Heredoc)。 它是一種重定向類型,允許您將多行輸入傳遞給命令。

例如,您可以將內容傳遞給 cat 命令,並將其附加到文件中:

cat « EOF » file.txt The current working directory is: $PWD You are logged in as: $(whoami) EOF

cat filename > file.txt 

你可以將任何命令的輸出附加到文件中:

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

MDiTEX
當使用重定向附加到文件時,請注意不要使用操作符覆蓋重要的現有文件。

方法附加到文件中tee Command 命令

tee 是 Linux 中的命令行實用程序,它從標準輸入讀取數據,並同時寫入標準輸出和一個或多個文件。

默認情況下,tee 命令覆蓋指定的文件。 要將輸出附加到文件中,可以使用 tee 和 -a (--append)選項:

echo "this is a new line"  | tee -a file.txt

J3UYRm

如果您不希望 tee 寫入標準輸出,可以將其重定向到 /dev/null:

echo "this is a new line"  | tee -a file.txt >/dev/null

使用 tee 命令優於操作符的優點是,tee 允許您將文本一次追加到多個文件,並將其他用戶擁有的文件與 sudo 一起寫入。

要將文本附加到沒有寫權限的文件,請在 tee 之前預置 sudo,如下所示:

echo "this is a new line" | sudo tee -a file.txt

VzQBPs

tee 接收 echo 命令的輸出,提高 sudo 權限,並寫入文件。

要將文本附加到多個文件,請將這些文件指定爲 tee 命令的參數:

echo "this is a new line"  | tee -a file1.txt file2.txt file3.txt

EFeqzz

小結

在 Linux 中,要將文本附加到文件中,可以使用重定向操作符「>」或 tee 命令。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章