迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中写入文件

作者:迹忆客 最近更新:2023/05/19 浏览次数:

本篇文章将让我们探索在 bash 中编写文件的不同方法。 可以根据需要追加或覆盖文件。 让我们看看我们该怎么做。


在 Bash 中写入/覆盖文件的不同方法

我们将看到多个运算符,例如 >>>,用于覆盖文件并将输出附加到文件。 此外,我们将探索用于覆盖和附加单个和多个文件的 tee 命令。

使用 > 运算符覆盖文件

> 运算符用于覆盖文件。 例如,下面的代码用于覆盖一个文件。

echo "Overwriting in the file" > test.txt

上述命令如果退出则覆盖test.txt文件; 否则,它会创建一个新的。 echo 通常不被使用,因为它不支持文本格式。

我们对格式化文本使用 printf 而不是 echo。 以下示例显示了使用 printf 覆盖文件。

printf "overwriting using the printf \n now in next line" > test.txt

上面的命令将格式化字符串并在 printf 之后添加新行。

使用 >> 运算符写入文件

>> 运算符用于在文件末尾追加内容。 例如,以下命令用于将数据附加到名为 test.txt 的文件中。

echo "Append in the file" >> test.txt

使用 vim 命令写入文件

vim 编辑器也用于编辑文件的内容。 例如,下面的代码将在 vim 编辑器中打开 test.sh 文件。

sudo vim test.sh

打开vim编辑器后,添加如下脚本,执行文件写入操作。

#! /bin/bash
echo "Enter Student Name"
read yourName
echo $yourName > test.txt
echo "Enter age"
read age
echo $age >> test.txt
cat test.txt

添加代码后,按 ESC 并键入 w 关闭文件。 现在使用 bash test.sh 运行该文件。

上面的脚本显示了两种文件写入方法。 在第 4 行中,我们使用了 > 运算符,它覆盖了文件。 在第 7 行时,使用 >> 运算符,它不会覆盖之前的内容并将字符串附加到新行。

使用 tee 命令写入文件

如果我们想同时对文件和控制台执行写操作,我们可以使用 tee 命令。 它同时获取输入并将字符串写入文件和控制台。

使用 tee 命令,我们可以在控制台看到文件中正在写入的内容。 tee 命令也用于覆盖和追加文件。

以下命令用于使用 tee 命令进行覆盖。

echo "Testing the Tee Command" | tee test.txt

上述命令将从管道 | 输入的字符串同时写入控制台和文件。

-a 标志与 tee 命令一起使用以附加文件。 例如,以下代码会将测试 Tee 命令附加到 test.txt 文件。

echo "Testing the Tee Command" | tee -a test.txt

有时,我们可能需要同时写入多个文件中的内容。 我们可以使用 tee 命令通过指定由单个空格分隔的所有文件的名称来实现此目的。

以下 bash 命令演示了将内容写入多个文件:

echo "Writing text to the multiple files" | tee test1.txt test2.txt test3.txt

上面的命令在控制台和三个文本文件中同时写入输入字符串。

上一篇:在 Bash 中终止进程

下一篇:Bash 覆盖 File

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便