【微知】如何将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 >>这种方式。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值