Questions tagged «pipe»

Unix管道连接两个进程的文件描述符。使用在<unistd.h>中声明的POSIX pipe()函数创建管道。外壳程序使用“ |”在进程之间提供管道创建。

3
管道查找到grep -v
我正在尝试查找具有特定类型且不包含特定字符串的所有文件。我试图通过管道查找到grep -v来解决这个问题 例: find -type f -name '*.java' | xargs grep -v "something something" 这似乎不起作用。似乎只是返回find命令找到的所有文件。我想做的基本上是找到所有与某个文件名匹配的.java文件(例如,在SessionPb.java中以'Pb'结尾),并且其中没有'extends SomethingSomething'。 我怀疑我做错了。那么该命令应该是什么样子呢?
18 grep  find  pipe 

5
在命令选项中使用从管道读取而不是从文件读取的数据
根据人的定义,此命令从文件获取输入。 $ command -r FILENAME 假设该FILENAME文件包含使用生成的文件名列表ls &gt; FILENAME。 相反,我如何才能ls直接将结果直接输入命令?在我看来,这样的事情应该是可能的: $ ls | command -r 但事实并非如此,的输出ls不会被挂钩为参数。输出: Usage: command -r FILENAME error: -r option requires an argument 我如何获得理想的效果?
18 bash  pipe 

4
为什么grep在这里使用管道不起作用?
我有以下命令: find / -name libGL.so.1 它返回很多行与“权限被拒绝”。我想排除这些行,因此添加了以下内容: find / -name libGL.so.1 | grep -v 'denied' 但是输出是相同的-我grep -v 'denied'没有用过滤掉行Permission denied。我尝试了许多变体,查看了grep教程,但无法弄清楚问题所在。有什么建议么?
18 shell  grep  pipe 

3
tee + cat:多次使用输出,然后合并结果
例如,如果我调用某个命令,则echo可以在中使用该命令的结果在其他多个命令中tee。例: echo "Hello world!" | tee &gt;(command1) &gt;(command2) &gt;(command3) 使用cat我可以收集几个命令的结果。例: cat &lt;(command1) &lt;(command2) &lt;(command3) 我希望能够同时做这两种事情,这样我就可以tee在其他输出(例如,echo我编写的输出)上调用这些命令,然后使用以下命令将所有结果收集到一个输出中cat。 保持结果为了这一点很重要,这意味着输出的线路command1,command2并且command3不应该纠缠在一起,但订购的命令是(因为它与发生cat)。 可能有比cat和更好的选择,tee但是到目前为止,这些是我所知道的。 我想避免使用临时文件,因为输入和输出的大小可能很大。 我该怎么办? PD:另一个问题是这种情况是循环发生的,这使得处理临时文件更加困难。这是我目前拥有的代码,适用于小型测试用例,但是当以我不理解的方式从auxfile读取和写入时,它会创建无限循环。 somefunction() { if [ $1 -eq 1 ] then echo "Hello world!" else somefunction $(( $1 - 1 )) &gt; auxfile cat &lt;(command1 &lt; auxfile) \ &lt;(command2 &lt; auxfile) \ …
18 pipe  cat  tee  concurrency 

1
如何终止bash本身建立的TCP连接?
我曾经使用exec 3&lt;&gt;/dev/tcp/192.168.0.101/6435192.168.0.101:6435建立TCP连接。而且我已经收到并通过pipe命令发送了一些消息。 现在,我要终止TCP连接。但是,ss -anpet从中我可以看到bash本身保持了此连接,而没有派生子进程。 我试图将信号9和15发送到bash进程,但是如您所知,bash无法杀死自己。 因此,我可以在不终止正在使用的pt的情况下终止已建立的TCP连接(既不通过root杀死它也不发送Ctrl + D)吗?

4
管道旁的空间
我见过的history | grep blah和history |grep blah; 并且history|grep blah也可以使用,尽管似乎没有人使用过它。 空间中是否有任何意义(例如,到/来自不同命令的管道要求使用不同的空间),还是总是武断的?
17 bash  shell  pipe 

1
使程序首先从管道读取,然后从键盘读取
考虑交互式程序interactive。我必须相当频繁地运行该程序,并且每次运行它时,前几个命令都是相同的。显然,不得不一遍又一遍地键入这些命令是很痛苦的。我已经在文件中收集了这些命令(用换行符分隔)cmd。现在,我可以cat cmd | interactive运行命令了。问题是,一旦cmd被完全读取,就会interactive收到EOF并退出。 我想做的是首先interactive从管道中读取(显然interactive &lt; cmd也可以接受),并且在收到EOF时,改为从键盘开始读取。
17 command-line  pipe  cat  stdin 

3
通过SSH重定向stdout
我想跑步 something &gt; file 在通过ssh的远程系统上,但是如果我运行 ssh host something &gt; file 重定向在本地执行为 ssh etc &gt; file 我已经尝试过使用'or或''or dd或使用管道|来代替它,但是我无法使其正常工作。如何才能做到这一点?

1
如何使用壳管从tmux“剪贴板”复制/复制?
在外壳环境中工作时,我经常遇到需要复制“中间管道输出”的情况(例如,从/到已经运行的编辑器,到其他外壳,其他机器等)。 在窗口环境中,通常通过系统剪贴板来解决此问题的简单(通用)方法,例如: X11:... | xsel -i/xsel -o | ... OS X:... | pbcopy/pbpaste | ... 使用tmux复制/粘贴工具如何获得类似的便捷行为?

2
了解Unix / Linux中的管道命令
我有两个简单的程序:A和B。 A首先运行,然后B获取“ stdout” A并将其用作其“ stdin”。假设我使用的是GNU / Linux操作系统,最简单的方法是: ./A | ./B 如果必须描述此命令,我会说这是一个从生产者(A)读取(即读取)并写入消费者(B)的命令。这是正确的描述吗?我有什么想念的吗?
16 pipe  terminology 

1
如何获得平均管道流速
如果myfile随着时间增加,我可以使用 tail -f | pv -lr &gt; /dev/null 它给出的是瞬时速度,而不是平均速度。 如何获得平均速度(即速度函数v(t)在监视时间内的积分)。
16 pipe  monitoring  tail  fifo  pv 

2
为什么在bash管道上使用`yes'不会*导致无限循环?
根据其文档,bash会一直等到管道中的所有命令运行完毕,然后再继续 在返回值之前,shell等待管道中的所有命令终止。 那么,为什么命令yes | true立即完成?不应yes永远循环并导致管道永不返回吗? 还有一个子问题:根据POSIX规范,shell管道可以选择在最后一条命令完成之后返回,或者等待直到所有命令完成。从这个意义上说,普通的壳有不同的行为吗?是否有任何壳yes | true会永远循环?
16 bash  shell  pipe 

5
这是bash中的错误吗?如果从管道调用`return`不会退出功能
最近我在使用bash时遇到了一些奇怪的问题。在尝试简化脚本时,我想到了以下一小段代码: $ o(){ echo | while read -r; do return 0; done; echo $?;}; o 0 $ o(){ echo | while read -r; do return 1; done; echo $?;}; o 1 return应该没有打印就退出了功能$?,不是吗?好吧,然后我检查了是否可以单独从管道返回: $ echo | while read -r; do return 1; done bash: return: can only `return' from a function …

2
使用管道和此处字符串的资源使用情况
我们可以使用以下两个in中获得相同的结果bash, echo 'foo' | cat 和 cat &lt;&lt;&lt; 'foo' 我的问题是,就所使用的资源而言,这两者之间有什么区别?哪个更好? 我的想法是,在使用管道时,我们使用了额外的进程echo和管道,而在此字符串中,仅文件描述符与一起使用cat。
16 bash  pipe  resources 

4
如何测量管道数据的大小?
我想做这样的事情: &gt; grep pattern file.txt | size -h 16.4 MB 或等同于: &gt; grep pattern file.txt &gt; grepped.txt &gt; ls -h grepped.txt 16.4 MB &gt; rm grepped.txt (虽然有点不方便) 那可能吗?
16 pipe 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.