如何使用 Bash 向文件添加多行

在 Linux 中,我们不断地使用文件。因此,我们可能会遇到需要将多行附加到文件的情况。

本快速指南将讨论可用于在文件中追加多行的各种方法。

方法 #1 – 使用 echo 和 Printf

将多行附加到文件的最简单方法是使用 echo 和 printf 命令。

让我们从回声开始。

Echo 是一个用于输出一个字符串或多个字符串作为参数的命令。 Echo 在所有 Linux 发行版中都可用,这使其成为将输出重定向到文件的好工具。

让我们首先验证文件不为空。

cat multiple.txt

如上面的输出所示,文件不为空;它包含文本行。

要使用 echo 将多行添加到文件中,请使用 -e 选项并用 \n 分隔每行。

当您使用 -e 选项时,它告诉 echo 评估反斜杠字符,例如换行符 \n 。

echo -e "Hello, world\nBash scripting is awesome\nThis is a new line" >> multiple.txt

如果您对文件进行 cat 操作,您将发现每个条目都会在现有内容之后立即添加到新行中。

cat multiple.txt

打印f

现在让我们看看 printf。使用 printf 命令与 echo 命令非常相似。要使用 printf 命令追加多行:

printf "Learn Bash scripting basics here\nhttps://linux-console.net/bash_scripting_tutorial_beginners/" >> multiple.txt

同样,cating 命令提供类似的输出:

cat multiple.txt

方法 #2 – 使用 Bash Heredoc

我们可以用来在 bash 中向文件追加多行的另一种方法是使用heredoc。

Heredoc 是一种重定向功能,允许您将多行传递到命令或文件。

使用定界符需要在命令开头指定分隔符。一旦 shell 遇到分隔符,它就会终止输入并将其重定向到文件或特定命令。

了解使用定界文档的基础知识。 我们可以使用 tee 或 cat 命令将多行重定向到使用定界符的文件。我们来讨论一下两者

T 恤命令

要使用 tee 命令附加一行,我们使用 -a 选项。然后我们可以将来自定界文档的输入传递为:

tee -a multiple.txt <<EOF
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 multiple.txt

猫命令

使用 cat 命令追加到文件类似于使用 tee 命令。但是,我们使用附加重定向符号来重定向输出。

以下命令将以下行附加到文件中。

cat <> multiple.txt
------------------------------------------------------------
CAT APPENDS FILES ARE LOCATED HERE
------------------------------------------------------------
EOF

使用 cat 命令验证文件中是否存在内容:

cat mupltiple.txt

结论

本指南讨论了可用于在 bash 中将多行附加到文件的各种方法。

posted @ 2024-11-04 10:32  CharyGao  阅读(14)  评论(0编辑  收藏  举报