LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1240|回复: 8

请教一个管道命令

[复制链接]
发表于 2003-9-18 22:50:08 | 显示全部楼层 |阅读模式
有两个文本,list1,list2,如果用paste连接两个文本,再输出到另一个文件里比如
paste list1 list2>list3,这个没有任何问题,可是如果我要想把输出覆盖到list2里,就有问题了 paste list1 list2>list2,似乎覆盖不上,这是为什么呢。
发表于 2003-9-18 23:55:33 | 显示全部楼层
paste list1>> list2
cat list1 >> list2
发表于 2003-9-19 00:32:13 | 显示全部楼层
呵呵~~>,>>是重定向,不是管道(|),而且,用paste file1 file2之后再用>的操作的结果好像永远是file1的内容,(我实验过的),这个或许跟paste这个命令的有关!
发表于 2003-9-19 05:50:23 | 显示全部楼层
paste list1 list2 | tee > list2
 楼主| 发表于 2003-9-19 10:09:44 | 显示全部楼层
hehe,我试过paste list1 list2|tee list2
不过后来觉得不方便了,因为这个paste是在一个循环里的,加上tee就会在屏幕上回显很多东西
发表于 2003-9-19 10:17:33 | 显示全部楼层
用>/dev/null来禁止回显.
 楼主| 发表于 2003-9-19 16:33:06 | 显示全部楼层
但是/dev/null这个命令和|tee 一结合,就有问题了
比如 sort file|tee file >/dev/null
然后file的内容就全没了
发表于 2003-9-19 17:11:18 | 显示全部楼层
哦~~~ :sorry
那就paste file1 file2>tmpfile;rm file2;mv tmpfile file2
这样就麻烦些而已.
发表于 2003-9-19 17:13:29 | 显示全部楼层
$echo -e "14\n5\n100" > s.txt
$cat s.txt
14
5
100
$sort -n s.txt | tee  s.txt > /dev/null
$cat s.txt
5
14
100
$

没有问题啊?
s.txt 的内容还在
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表