如何在不清除文件的情况下将输出重定向到具有值的文件中?

时间:2020-09-09 17:52:02

标签: shell

我正在寻找一个命令行,它将在下面的行中运行并将输出发送到每个文件中。我不确定哪个命令会起作用,因为我认为>和<是重定向输入和输出的主要命令。

cat ls -1 *.B sed -e 's/\.B$//' | awk '{print $1,"\\"}'>name.dat

然后,我希望将其输出放入带有foreach的文件中。

name1\
name2\
name3\

定向文件如下所示。

foreach(\

)

最后,我希望文件看起来像这样。

foreach(\
name1\
name2\
name3\
)

1 个答案:

答案 0 :(得分:0)

使用tee而不是重定向。

例如,以下命令行将撤消文件而不会清除,就像触摸一样:

cat foo.txt | sort -r | tee foo.txt

一种简单的情况,您可以刷新文件而无需更改其任何内容:

cat foo.txt | tee foo.txt

此后,所有更改的时间都在更改文件的修改时间。

使用tee -a附加到文件,而不是覆盖文件。

这只是您的情况的答案。

相关问题