Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何在不清除文件的情况下将输出从重定向到具有值的文件中?_Shell - Fatal编程技术网

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

Shell 如何在不清除文件的情况下将输出从重定向到具有值的文件中?,shell,Shell,我正在寻找一个命令行,它将运行下面的行,并将输出发送到一个文件中,每个文件都有一个for。我不确定什么命令可以工作,因为我认为>和

我正在寻找一个命令行,它将运行下面的行,并将输出发送到一个文件中,每个文件都有一个for。我不确定什么命令可以工作,因为我认为>和<是重定向输入和输出的主要命令

cat ls -1 *.B sed -e 's/\.B$//' | awk '{print $1,"\\"}'>name.dat
然后我希望的输出进入一个带有foreach的文件

name1\
name2\
name3\
定向文件将如下所示

foreach(\

)
foreach(\
name1\
name2\
name3\
)
最后,我希望文件看起来像这样

foreach(\

)
foreach(\
name1\
name2\
name3\
)

使用
tee
而不是重定向

例如,以下命令行将在不清除文件的情况下反转文件,就像触摸文件一样:

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

更简单的情况是,您可以刷新文件,而不更改其任何内容:

cat foo.txt|tee foo.txt

在此之后,所发生的一切就是更改文件的修改时间

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

这正是你案件的答案