作者fantasywater (prepare myself)
看板LinuxDev
标题Re: [问题] 关於 pipe line 处理档案
时间Wed May 13 12:42:30 2015
感谢 刚刚用 tar -O 可以了,另外想再请问一下有办法让 pipe 导到 2 个 process
让这两个 process 同时处理同一个 stdin 吗?
我在网路上有看到这样的做法
http://goo.gl/yvHm8g
我照着使用 tar -O -zxvf my.tar.gz | tee > (java -jar processing.jar)
| java -jar processing.jar
让同一个 process 同步执行两次,可是却会不断的出现错误讯息
syntax error near unexpected toke '('
如果我把挂号拿掉又会出现
tee:unknown option -- j
不知道哪里写错,或是有 tee 以外其他的作法..?
※ 引述《fantasywater (prepare myself)》之铭言:
: 请问一下,我有一个 tar.gz 档解出来是一个大概 2G 的 txt 档,
: 但是因为解压缩的过程很长,想说在他解压缩的同时去处理部分已经解压缩出来的档案
: 假设 tar.gz 的档名是 my.tar.gz,解出来的文件叫做 my.txt
: -----------------------------------------------------------------------------
: 所以我在 command 下了 tar -zxvf my.tar.gz | java -jar processing.jar
: 然後在 processing 程式当中去读取 stdin
: 但是现在 log 看起来 stdin 里面读到的只有文件的档名,也就是只有读到 my.txt
: 没有读到 my.txt 真正要处理的内容,请问大概要怎麽去调整,还是说有什麽方法
: 在解压缩的过程中可以把 my.txt 的内容放到 stdout 中? 或是在程式去读取到那块
: 存放内容的记忆体?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.164.139.196
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1431492153.A.1BF.html
※ 编辑: fantasywater (1.164.139.196), 05/13/2015 12:43:01
1F:→ tjjh89017: tee似乎不是这样用的@@ 05/13 12:59
2F:推 yvb: 请写 >(java...) 不是 > (java...) 不要把 > 和 ( 分开. 05/14 01:58
3F:→ yvb: 请参看 bash manual 的 Process Substitution. 05/14 02:00