一次满足两个愿望?HTPC_NAS二合一服务器搭建教学(OMV新手入门)
目录:
在Bash中,有多种方法可以将文本追加到文件中。 本文介绍了其中一些。
要将文本追加到文件,您需要具有文件写入权限。 否则,您将收到一个权限被拒绝的错误。
使用重定向运算符(
>>
)附加到文件
重定向允许您捕获命令的输出,并将其作为输入发送到另一个命令或文件。
>>
重定向运算符会将输出附加到给定文件。
您可以使用许多命令将文本打印到标准输出并将其重定向到文件,其中
echo
和
printf
是最常用的命令。
要将文本追加到文件,请在重定向运算符后指定文件名:
echo "this is a new line" >> file.txt
当与
-e
选项一起使用时,
echo
命令将解释反斜杠转义的字符,例如换行符
:
echo -e "this is a new line \nthis is another new line" >> file.txt
如果要产生更复杂的输出,请使用
printf
命令,该命令可用于指定输出的格式:
printf "Hello, I'm %s.\n" $USER >> file.txt
将文本追加到文件的另一种方法是使用Here文档(Heredoc)。 这是一种重定向类型,它允许您将多行输入传递给命令。
例如,您可以将内容传递给
cat
命令并将其附加到文件中:
cat«EOF»file.txt当前工作目录为:$ PWD您登录为:$(whoami)EOF
您可以将任何命令的输出附加到文件中。 以下是
date
命令的示例:
date +"Year: %Y, Month: %m, Day: %d" >> file.txt
使用重定向附加到文件时,请注意不要使用
>
运算符覆盖重要的现有文件。
使用
tee
命令附加到文件
tee
是Linux中的命令行实用程序,可从标准输入读取并同时写入标准输出和一个或多个文件。
缺省情况下,
tee
命令将覆盖指定的文件。 要将输出附加到文件中,请使用带有
-a
(--
--append
)选项的
tee
:
echo "this is a new line" | tee -a file.txt
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
tee
接收
echo
命令的输出,提升sudo权限,然后写入文件。
要将文本附加到多个文件中,请将文件指定为
tee
命令的参数:
echo "this is a new line" | tee -a file1.txt file2.txt file3.txt
结论
在Linux中,要将文本追加到文件中,请使用
>>
重定向运算符或
tee
命令。







