如果您想知道如何在 Linux 中将文本附加到文件的末尾,那么您来对地方了。 伙计们,在这里我们将讨论在 Linux 中将文本附加到文件的各种方法。
将文本附加到文件的常见场景
- 将日志附加到日志文件中,通常由服务器完成。
- 将命令的输出保存到文件中。 例如,将脚本的输出保存到文件中,以便稍后进行调试。
- 将一个文件的内容复制到另一个文件中。 例如,在对文件进行任何更改之前创建备份文件。
- 将一组文件内容连接到另一个文件。 例如,合并一堆 CSV 文件以创建一个新的 CSV 文件。
将文本附加到文件的 Linux 命令
我们使用重定向运算符 (>>) 将数据附加到现有文本文件中。 但是,我们需要提供要附加到文件中的数据。 与 >> 运算符一起使用的一些常见命令是 cat、echo、print 等。
让我们看一些在 Linux 中将文本附加到文件的示例。
1. 使用重定向操作符将文本附加到文件末尾
添加文本是可能的 “>“ 和 “>>” 运营商。 这些是输出重定向操作符。 重定向是将输出发送到任何文件。
有两种类型的重定向运算符,即输入重定向和输出重定向。 “被称为输入重定向,而“>”称为输出重定向。
为了您的理解,这里是输入重定向的样子。
tr 'a-z' 'A-Z' < linux.txt
在这里,来自文件的输入即 linux.txt 通过输入重定向操作符发送到 tr 命令。 它将以大写形式打印字符,如上图所示。
谈论 输出重定向运算符, 它用于将命令的输出发送到文件。 它可以使用任何命令 cat 或 echo 来完成。 让我们通过下面的例子来理解它,
cat > linux.txt Hello World This is blog based on how to append the text in Linux cat linux.txt
使用“>”运算符会将 cat 命令的输出发送到 linux.txt 文件。 此外,我使用了没有“>”运算符的 cat 命令,因为在这里我们不会将文本附加到文件的末尾,而只是显示文件的内容。
我们将考虑 linux.txt 文件以获取更多示例。
同样,“>>”重定向运算符用于将文本附加到文件末尾,而“>”运算符将删除现有文件中的内容。 我希望两者之间的差异被清除。 别担心,我们会更详细地讨论这个。
让我们深入探讨如何使用各种命令将文本附加到文件中。
2. 使用带有重定向操作符 (>>) 的 cat 命令
“>>”运算符用于将文本附加到已经有内容的文件的末尾。 我们将使用 cat 命令并将其附加到我们的 linux.txt 文件中。
考虑我们想要将文本附加到文件的末尾,即 linux.txt,如上所示。 让我们看看下面的命令:
cat >> [file_name]
如上所示,输入文本被发送到文件即 linux.txt。 我们再次使用 cat 命令和 append 运算符来打印如上例所示的文本。
您可以看到文本已附加到文件底部。 请记住,通过 cat 命令使用“>>”运算符添加文本时,您将在编辑器模式下工作。 要保存文本并完成附加,您可以按 Ctrl+D。
3. Linux echo 命令与>>
echo 命令用于打印文本、打印变量的值等。 如果你想有详细的知识,你可以查看 Linux 中 echo 命令的教程。 使用 echo 命令时,您需要在引号内添加文本。 echo 命令的输出将通过“>>”操作符重定向到文件。 让我们看看下面的命令。
echo 'text' >> [file_name]
可以看到文字“我希望你理解这个概念。” 附加在文件的底部。 您可以使用 cat 命令打印文件的内容。 在这里,文本也通过“>>”操作符作为输出发送到文件。
4. 带有 -a 选项的 tee 命令
tee 命令用于读取标准输入并将其写入标准输出以及文件。 使用带有 -a 选项的 tee 命令不会覆盖内容,但会将其附加到文件中。 让我们通过一个例子来理解。
cat [file_name1] | tee -a [file_name2]
linux.txt文件中的文本通过“|”重定向到tee命令运算符并附加到文件 linuxfordevices.txt。 您可以看到所有数据都传输到新文件中。
5. Linux 中使用“printf”追加
您可能会想为什么我们在 Linux 中使用 printf,因为它在 C 语言中用于打印文本。 我们知道 printf 是用来显示标准输出的。 伙计们,我们也可以使用 printf 命令在 Linux 中使用“>>”运算符来附加文本。 只需在引号内添加文本并将其作为输出发送到文件。 让我们看看下面的命令:
printf "Text" >> [file_name]
6. 使用 awk 命令追加文本
awk 命令用于按照程序语句的指示对文本执行特定操作。 在 awk 命令中使用 BEGIN 关键字指定 awk 将在读取任何输入行之前执行 begin 中表示的操作一次。
因此,我们将提供包含在 BEGIN 中的命令,如下例所示。 追加文本的命令在 BEGIN 部分提供,因此 awk 命令将在读取输入行后执行它。 让我们看看下面的命令:
awk 'BEGIN{ printf "TEXT" >> "File_name" }'
可以看到文字“请随时联系我们” 已附加到 linux.txt 文件的底部,如上图所示。 使用 cat 命令打印文件的文本。
7. Save 使用 >> 运算符将文件列表转换为另一个文件
我们还可以使用带有“>>”运算符的 ls 命令将文件列表保存在任何目录中。 我们只需要使用 ls 命令后跟“>>”操作符和我们需要保存输出的文件名。 让我们看看下面的命令:
ls >> [filename]
结论
在本教程中,我们学习了如何使用“>>”运算符将文本附加到文件末尾。 我们还学习了输入重定向和输出重定向的区别,如何将文件列表和日期保存到任何文件等等。 我希望您的所有疑虑都得到解决。 如果遇到任何问题,请在评论部分告诉我们。