如何使用 Bash 向文件添加多行
在 Linux 中,我们不断地使用文件。因此,我们可能会遇到需要将多行附加到文件的情况。
本快速指南将讨论可用于在文件中追加多行的各种方法。
方法 #1 – 使用 echo 和 Printf
将多行附加到文件的最简单方法是使用 echo 和 printf 命令。
让我们从回声开始。
Echo 是一个用于输出一个字符串或多个字符串作为参数的命令。 Echo 在所有 Linux 发行版中都可用,这使其成为将输出重定向到文件的好工具。
让我们首先验证文件不为空。
如上面的输出所示,文件不为空;它包含文本行。
要使用 echo 将多行添加到文件中,请使用 -e 选项并用 \n 分隔每行。
当您使用 -e 选项时,它告诉 echo 评估反斜杠字符,例如换行符 \n 。
如果您对文件进行 cat 操作,您将发现每个条目都会在现有内容之后立即添加到新行中。
打印f
现在让我们看看 printf。使用 printf 命令与 echo 命令非常相似。要使用 printf 命令追加多行:
同样,cating 命令提供类似的输出:
方法 #2 – 使用 Bash Heredoc
我们可以用来在 bash 中向文件追加多行的另一种方法是使用heredoc。
Heredoc 是一种重定向功能,允许您将多行传递到命令或文件。
使用定界符需要在命令开头指定分隔符。一旦 shell 遇到分隔符,它就会终止输入并将其重定向到文件或特定命令。
了解使用定界文档的基础知识。 我们可以使用 tee 或 cat 命令将多行重定向到使用定界符的文件。我们来讨论一下两者
T 恤命令
要使用 tee 命令附加一行,我们使用 -a 选项。然后我们可以将来自定界文档的输入传递为:
Copy standard input toeach FILE, and also to standard output.
-a, --append
appendtothe given FILEs, donot overwrite
-i, --ignore-interrupts
ignore interrupt signals
-p diagnose errors writing tonon pipes
--output-error[=MODE]
set behavior onwriteerror. SeeMODEbelow
--help display this help and exit
--version
output version information and exit
EOF
执行该命令后,tee 将显示内容并将其附加到指定文件中。
您可以使用 cat 验证内容是否已附加到文件中。
猫命令
使用 cat 命令追加到文件类似于使用 tee 命令。但是,我们使用附加重定向符号来重定向输出。
以下命令将以下行附加到文件中。
------------------------------------------------------------
CAT APPENDS FILES ARE LOCATED HERE
------------------------------------------------------------
EOF
使用 cat 命令验证文件中是否存在内容:
结论
本指南讨论了可用于在 bash 中将多行附加到文件的各种方法。