gpt4 book ai didi

linux - 如果文件存在,输出在 shell 中重定向到另一个文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:00 25 4
gpt4 key购买 nike

我正在使用以下命令将输出重定向到另一个文件。

ls -l >>foo.txt

此命令会将 ls -l 的输出附加到 foo.txt。如果该文件不存在,它将创建一个新文件 foo.txt 并将输出重定向到新的 foo.txt。

现在 有什么方法可以将 ls -l 的输出重定向/追加到一个文件中,前提是该文件已经存在,否则它不会重定向输出或将丢弃它

对于我的情况,如果 foo.txt 已经存在,它会将输出附加到 foo.txt,否则它将丢弃输出。

有什么命令可以做到这一点吗?

最佳答案

ls -l |
if [ -f "$file" ]
then cat >> "$file"
else cat # or whatever you want to do with the output
fi

请注意,该操作不是原子操作:可以在检查文件是否存在之后和打开以进行写入之前取消链接文件。

关于linux - 如果文件存在,输出在 shell 中重定向到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5290469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com