标签: pipe

如何使用 Notepad++ 打开标准输出?

在 OSX TextMate 上有别名mate,您可以将其与管道一起使用以打开其他程序的标准输出。

如何使用 Notepad++ 在 Windows 7 中实现相同的效果?

前任。: git diff master|edit

windows-7 notepad++ pipe stdout

3
推荐指数
1
解决办法
2254
查看次数

使用 >/dev/null 2>&1 在管道传输时静音卷曲

所以我有一个curl通过管道连接到 agrep和 a 的sed。我会在哪里申请>/dev/null 2>&1

curl www.site.com | grep stuff | sed "other stuff"
Run Code Online (Sandbox Code Playgroud)

在最后还是在卷曲之后?

curl pipe

3
推荐指数
2
解决办法
2万
查看次数

透明使用临时文件作为管道手段

正如我们许多人肯定知道的那样,让您的程序接受 stdin 输入总是一个好主意。很多程序确实允许使用 *nix 环境。这让我们可以做一些很酷的事情,比如管道 echo "foo" | less。很多时候人们会发现这cat barfile | baz在逻辑上等同baz barfile于在幕后它只是读取字符串。

如今,有更多的程序默认无法通过管道传输。一些程序具有仍然允许上述行为的标志,但许多程序没有。

现在,我的问题是,是否存在临时文件管道?

现在,由于我几乎不具备编写 Bash 的能力和在 Google 上大约 5 分钟的时间,我想出了这个

#!/bin/bash
if [ $# -ne 2 ]; then exit 1; fi
f=$(mktemp)
($1) > $f
if [ $? -eq 0 ]; then ($2 $f); else exit $?; fi
rm $f
Run Code Online (Sandbox Code Playgroud)

调用这个 fpipe,我们可以做一些事情,比如fpipe 'wget -O- www.example.com' bazbaz 是一个我们不能管道但可以做的程序baz file

我的问题是我们怎样才能做得更好。我怀疑有了更多的 Bash 知识,重新编写上面的脚本来接受任何数量的参数将是相当微不足道的(这样我们就可以做一些事情,比如fpipe 'foo x' bar baz在管道中我们可以做类似的事情foo x …

linux bash zsh shell pipe

3
推荐指数
1
解决办法
204
查看次数

需要了解xargs和管道的概念

我已经在这个问题上挣扎了一段时间,如果有人能为我澄清一下,我将不胜感激。假设我试图将这两个命令通过管道连接在一起。readlinkcat

readlink Command output
$ readlink -f SUService.log
/cygdrive/c/SUService.log
Run Code Online (Sandbox Code Playgroud)

现在如果我尝试这样的事情(它失败了)

$ readlink -f SUService.log | cat
Run Code Online (Sandbox Code Playgroud)

虽然这样的事情会起作用

$ readlink -f SUService.log | xargs cat
Run Code Online (Sandbox Code Playgroud)

我想知道这是为什么?我在这里阅读了这篇文章,其中 OP 有一个类似的问题,这篇文章试图解释参数和输入之间的区别,但是我仍然无法理解已接受的答案。据我所知,readlink将结果返回到 stdout 是终端屏幕,同时cat需要输入作为参数。这反过来提示我问我如何知道命令的输出(例如 locate 或 readlink)是否可以作为下一个命令的参数?我一直在做更多的阅读,结果我想知道什么时候应该使用 xarg 命令?

linux pipe

3
推荐指数
1
解决办法
1518
查看次数

管道 ffmpeg 输出到其他进程

我要管的ffmpeg输出到像这样的一些其他的过程: ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 - | process。我明白了Unable to find a suitable output format for 'pipe:' pipe:: Invalid argument。我如何实现管道?

ffmpeg pipe

3
推荐指数
1
解决办法
2万
查看次数

如何在管道中间使用“此处文档”?

我想使用heredoc作为模板生成一些内容:

passphrase=$(<passphrase) envsubst <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: openshift-passphrase
stringData:
  passphrase: ${passphrase}
EOF
Run Code Online (Sandbox Code Playgroud)

并将其通过管道传输到oc create -f -.

如果我在 后面添加管道EOF,则不起作用。

如何通过管道将带有变量替换的定界文档传递给消耗它的东西?

linux bash command-line sh pipe

3
推荐指数
1
解决办法
2877
查看次数

管道是否并行执行命令?

我试图更深入地了解管道和重定向。在每个指南中都说cmd1 | cmd2cmd1 将执行,并且 stdout 将与 cmd2 的 stdin 共享。但这在我看来不太好,所以我测试了它:

所以看起来 ./test.shgrep 都是并行运行的!

这是源代码:

#!/bin/bash
a=0
while :
do
        ((a=a+1))
        echo "Line number $a"
        sleep 1
done
Run Code Online (Sandbox Code Playgroud)

尝试使用不同的推荐会显示相似的结果。 管道是否平行运行?

管道和重定向如何“在幕后”工作?

linux bash command-line pipe

3
推荐指数
1
解决办法
4980
查看次数

如何将 Java 异常连同正常输出一起传送到文本文件中?

当我在 Windows 命令行中使用 batchfile.bat >> logfile.txt 命令时,它正确地将正常输出输出到文本文件中,但 Java 异常会输出到控制台。我可以这样做,以便将异常也写入日志文件吗?

java console command-line logging pipe

2
推荐指数
1
解决办法
9018
查看次数

使 nano 接受先前的管道输出作为文件路径

当我在 linux 中运行以下命令时:

find / -iname httpd.conf
Run Code Online (Sandbox Code Playgroud)

我得到:

/usr/local/apache/conf/httpd.conf
Run Code Online (Sandbox Code Playgroud)

我想用nano编辑这个文件,懒得再输入文件路径,我用的:

find / -iname httpd.conf | nano
Run Code Online (Sandbox Code Playgroud)

不行,nano很快打开退出,然后在我运行这个命令的目录下发现了nano.save文件。在 nano.save 上使用 cat 命令,它输出文本:/usr/local/apache/conf/httpd.conf

这意味着 nano 将之前的管道输出视为我想写入文件的字符串,但事实是,我希望 nano 将其视为文件路径,以便它实际打开文件供我进行编辑。

我们如何让 nano 接受以前的管道输出作为文件路径?

linux pipe nano

2
推荐指数
1
解决办法
2403
查看次数

如何对匹配模式的目录中的每个文件运行命令?

我正在尝试对匹配模式的目录中的每个文件(递归地)运行一个命令。但是,我需要与命令匹配的每个项目的文件名。这是我有多远:

find . -name '*.jar'
Run Code Online (Sandbox Code Playgroud)

这给了我我感兴趣的所有文件。 现在,我需要对所有这些文件运行以下命令:

jarsigner -keystore ***** -storepass ****** $FILENAMEHERE
Run Code Online (Sandbox Code Playgroud)

对于命令,如何在 find 的输出中引用各个项目?

grep command-line find pipe

2
推荐指数
1
解决办法
1100
查看次数

标签 统计

pipe ×10

linux ×5

command-line ×4

bash ×3

console ×1

curl ×1

ffmpeg ×1

find ×1

grep ×1

java ×1

logging ×1

nano ×1

notepad++ ×1

sh ×1

shell ×1

stdout ×1

windows-7 ×1

zsh ×1