文件编辑:向文件追加不存在的行


有时需要向文件追加一行或字符串以更改输出而无需删除现有数据。这是一种通过在文件的现有行之间添加多行来修改文件的有价值的方法。

"追加"意味着在不擦除当前可用数据的情况下将数据添加到文件中。要追加文件中的行,可以使用各种命令,例如printf、echo、tee、cat等。

虽然追加一行很容易,但许多初学者总是需要澄清。因此,本教程将包含向文件追加不存在行的简单方法。

文件编辑:向文件追加不存在的行

“>>”运算符可以重定向文件的输出。如果提到的文件不存在,它会自动创建它,然后添加该行。使用此运算符,您可以使用多个命令向文件添加新行。

您将借助命令打印这些行,“>>”运算符将把此行打印到文件中。例如,我们有一个名为“Linux.txt”的文件,其中包含以下信息:

:~$ cat Linux.txt 
  What does append mean in Linux?

在这个文件中,我们将使用几个不同的命令追加新行。

printf命令

“printf”命令允许您编写、格式化并将参数转换为标准输出。首先,我们将了解如何使用“>>”运算符和printf命令向文件添加新行:

:~$ printf "<Text_line> 
" >> <file_name>

现在让我们使用以下命令在“Linux.txt”文件中添加新行:

:~$ printf "You can append a line through various commands in the terminal. 
" >> Linux.txt :~$ cat Linux.txt What does append mean in Linux? You can append a line through various commands in the terminal.

您可以看到,运行上述命令会在文件中添加新的一行。

echo命令

使用内置的“echo”命令,您可以通过将其作为参数传递来显示Linux中的文本字符串/行。

:~$ echo "<new_text>" >> <file_name>

让我们尝试再次在Linux.txt中添加该行:

:~$ echo "You can append a line through various commands in the terminal. 
" >> Linux.txt :~$ cat Linux.txt What does append mean in Linux? You can append a line through various commands in the terminal.

tee命令

Linux中的“tee”命令读取输入并将其打印到一个或多个文件中。通过此命令,您可以将一个文件的输入打印到另一个文件中。此外,您还可以使用tee命令直接在文件中打印新行。

:~$ cat <source file_name> | tee -a <target file_name>

例如,我们将使用此命令将“Info.txt”文件的内容打印到“Linux.txt”文件中。这里我们首先使用cat命令获取“Info.txt”文件中存在的行作为输入。此外,我们将管道tee命令以将此输入打印到“Linux.txt”文件中。

:~$ cat Info.txt | tee -a Linux.txt
You can append a line through various commands in the terminal.
:~$ cat Linux.txt 
What does append mean in Linux? 

You can append a line through various commands in the terminal.

除此之外,您可以直接使用echo命令向文件追加新行。同样的方法是使用echo命令打印该行,然后将其与tee命令一起使用。

:~$ echo "<text_line>" | tee -a <file_name>

在上面的命令中,-a选项追加给定文件的一行。让我们将此命令组合应用于文件:

:~$ echo "You can append a line through various commands in the terminal." | tee -a Linux.txt
You can append a line through various commands in the terminal.
:~$ cat Linux.txt
What does append mean in Linux? 

You can append a line through various commands in the terminal.

cat命令

功能强大且通用的cat命令主要用于显示文件内容。除此之外,您还可以将内容从一个文件打印到另一个文件:

:~$ cat <source file_name> >> <target file_name>

这里,我们将再次使用cat命令将“Linux1.txt”文件的内容追加到“Linux.txt”文件中。

:~$ cat Info.txt >> Linux.txt
:~$ cat Linux.txt
What does append mean in Linux? 

Append means simply add the data to the file erasing existing data.

结论

这是关于向文件追加不存在行的简单方法。我们解释了四种在不修改现有输出的情况下追加行的方法。请确保正确使用所有命令,因为不合适的命令有时会导致错误。此外,您可以访问我们的官方网站了解更多关于Linux的信息。

更新于:2023年5月18日

浏览量:70

启动您的职业生涯

完成课程获得认证

开始学习
广告