欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > 【微知】如何将echo某个数据到文件然后cat出来结合在一起输出?(echo 1 | tee filea; cat fileb | tee fila)

【微知】如何将echo某个数据到文件然后cat出来结合在一起输出?(echo 1 | tee filea; cat fileb | tee fila)

2025/9/15 20:17:49 来源:https://blog.csdn.net/essencelite/article/details/147183304  浏览:    关键词:【微知】如何将echo某个数据到文件然后cat出来结合在一起输出?(echo 1 | tee filea; cat fileb | tee fila)

如题,常见办法是echo 1 > filea; cat filea
还有一个结合tee的方法echo 1 | tee filea,这个方法结合了tee的既输出到文件,也输出到屏幕。但是这个用法tee命令并不是真的从文件去dump出来,是否写成功最好用cat确认。

下面是一个实验:用strace追踪tee是如何运行的:echo 1 |strace tee -a filea,结论就是tee是将stdin的输入读取到之后分别write到目标文件stdout。并且目标文件如果-a就是append的方式。
在这里插入图片描述

那么再回过头来看,难道这种tee方式没有什么价值吗?还得cat确认?
有一种场景这种方式就比较好,就是当如的输入信息是类似cat fileb 这种,如果直接cat fileb > filea,是不知道内容的。但是如果用tee就能也能看到写入文件的内容是什么。但是同样存在前面提到的问题。不过对于绝大部分场景,这个已经很有用了。方法就是:cat fileb | tee fila来替代cat fileb; cat fileb > fila。如果追加就是cat fileb | tee -a fila替代cat fileb; cat fileb > fila
实操效果:可以看到,把文件1的内容展示出来了,并且也追加到filea了。用这个-a还能提到echo >>这种方式。
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词