在一个命令中追加或创建文件?

时间:2014-05-14 10:09:03

标签: bash

非常简单的任务:使用shell获取输出并将其重定向到文件。

现在,我需要创建文件,如果它不存在,或者如果它存在,我需要附加数据

如果我使用output > file.txt,我会在每次访问时覆盖数据。不是我想要的。 如果我使用output >> file.txt我收到错误,因为shell正在尝试访问该文件,我需要它首先创建它(它还不存在)。

如果文件不存在,是否可以在一行中创建它,并附加数据或仅在文件已存在时附加?

我可以使用if-else(如果文件存在使用>>否则使用>)来做到这一点,如果有更简单的方法,我想避免使我的代码复杂化。

1 个答案:

答案 0 :(得分:3)

要创建或附加到bash中的文件,您可以使用>>

echo "sample text" >> sample_file
echo "append text" >> sample_file