Questions tagged «pipe»

管道或命名管道是POSIX标准的一项功能,该功能允许单独的进程彼此通信,而无需明确设计为可以协同工作。

6
如何在bash脚本中同时获取PIPESTATUS和输出
我正在尝试使用此命令获取文件的最后修改日期 TM_LOCAL=`ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }'` 执行此行后,TM_LOCAL的值类似于“ 2012-05-16 23:18” 我还想检查PIPESTATUS以查看是否有错误。例如,如果file不存在,则ls返回2。但是$?由于返回值为,所以其值为0 awk。 如果仅运行此命令,则可以通过查看以下内容检查ls的返回值: ${PIPESTATUS[0]} ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }' 但是$PIPESTATUS,如果像第一个示例中那样将输出分配给变量,则不会按我预期的那样工作。在这种情况下,$PIPESTATUS数组只有1个元素,与$? 因此,问题是,如何同时获得两者$PIPESTATUS并将输出分配给变量?
9 bash  pipe 

1
是否可以将文件列表通过管道传输到Windows上的RMDIR?
我正在为Windows命令提示符编写批处理文件,以删除与某个表达式匹配的所有目录。 我首先使用它DIR来返回与表达式匹配的目录的简单列表。我想将输出的每一行通过管道传递到RMDIR命令,如下所示: DIR *.delete /A:D /B /S | RMDIR /S /Q 但是上述命令似乎不起作用。我不完全理解为什么这行不通,并且感谢任何能够提供解释的人。

1
从视频中提取的ffmpeg管道图像
我可以使用以下命令使用ffmpeg从视频中提取图像,并将其保存到文件系统中: ... | ffmpeg -i - -f image2 'img-%03d.png' 我想将这些图像通过管道传输到另一个应用程序,而不是将它们保存到文件系统中-在管道中如何分离它们并不重要,因为它将是我自己控制的NodeJS脚本。 以下内容不起作用: ... | ffmpeg -i - -f image2 pipe: | ... 错误与 [image2 @ 0xe1cfc0] Could not get frame filename number 2 from pattern 'pipe:' (either set updatefirst or use a pattern like %03d within the filename pattern) av_interleaved_write_frame(): Invalid …
8 linux  video  ffmpeg  pipe 

3
为什么不是所有文件都被压缩以及如何改善解决方案
我有一个约有2万个文件的文件夹。文件根据模式命名xy_{\d1,5}_{\d4}\.abc,例如xy_12345_1234.abc。我想使用以下命令压缩其中的前10K: ls | sort -n -k1.4,1.9 | head -n10000 | xargs tar -czf xy_0_10000.tar.gz 但是,生成的文件中只有大约2K个文件。 ls | sort -n -k1.4,1.9 | head -n10000 | wc -l 但是返回10000,如预期的那样。 在我看来,我对这里的一些基本知识误解了。 我在Linux Mint 17.1和GNU tar 1.27.1上使用zsh 5.0.2 编辑: @Archemar建议的分支听起来很合理,最新的fork覆盖了结果文件-该文件包含文件的“尾部” -7773到9999。 的结果xargs --show-limit: Your environment variables take up 3973 bytes POSIX upper limit on …
8 linux  shell  zsh  tar  pipe 

4
如何在源文件中grep某些文本?
目前,我正在使用两个命令,我确定必须有更好的方法... wim@wim-acer:~/ffmpeg$ find . -name "*.h" -print0 | xargs -0 grep -i invalid\ preset wim@wim-acer:~/ffmpeg$ find . -name "*.c" -print0 | xargs -0 grep -i invalid\ preset
8 bash  grep  pipe  xargs 

3
将文件内容传递到PowerShell命令,而不将整个文件加载到内存中
我最近开始使用PowerShell,希望永远不要错过 巴什 再次。 我想恢复一个实例 PostgreSQL的 数据库。在Bash或旧的命令提示符中,我会输入: psql --username = ... db_name< backup.sql 在PowerShell中,我发现我需要这样: Get-Content backup.sql | &安培; psql --username = ... db_name 问题是backup.sql很大 - 比我机器上的RAM量大。 获取内容 首先将文件读取到内存,然后再将其发送到 psql。 这是个问题。 我怎样才能模拟出的行为 < 在PowerShell?

3
在Windows上创建命名管道
我想使用BCP(批量复制程序)从SQL Server 2005数据库编写大型数据集。 理想情况下,我想做以下事情: bcp MyDatabase..MyTable OUT STDOUT -c -t, |gzip -c c:\temp\dataset.csv.gz 但是,BCP只是将其写入名为STDOUT的文字文件中。 我也尝试过: bcp MyDatabase..MyTable OUT CON: -c -t, |gzip -c c:\temp\dataset.csv.gz 但这会返回和错误 Error = [Microsoft][SQL Native Client]Unable to open BCP host data-file。 那么,我可以在任何地方创建命名管道吗?我已经在网上看到了以某种方式启动的提示 gzip 一端绑定到文件名,如\\。\ named_pipe - 但这是怎么做到的? 更新 :请注意,Microsoft自己承认他们真的不关心SQL Server的效率: http://connect.microsoft.com/SQLServer/feedback/details/337702/support-bcp-out-in-and-bulk-insert-compressed-or-named-pipe-support-at-least

2
如何通过管道排序在Ubuntu中按列排序ls?
我是一个Linux新手试图了解管道在Ubuntu终端中的工作原理。我试图按文件大小排序: ls -al | sort -k5 这些文件按此顺序列出: drwx------ 19 min10 domain users 0 2010-10-07 12:38 . drwx------ 29 min10 domain users 0 2010-02-16 22:30 MSI drwx------ 2 min10 domain users 0 2009-11-25 19:53 www drwx------ 2 min10 domain users 0 2010-02-05 09:14 .cache drwx------ 2 min10 domain users 0 2010-03-02 …
6 ubuntu  sorting  ls  pipe 


2
将程序管道化为更少
我正在开始设置和学习git,同时学习bash。我正在尝试做一些简单的事情来查看帮助部分 $ git config 不幸的是,当我输入帮助的输出关闭屏幕时。做一些谷歌搜索我发现更少的是我想用来滚动的程序。 我试过了 $ git config | 减 没有成功。有任何想法吗?谢谢!
5 bash  stdout  pipe  stderr  less 

2
如何保存控制台输出仍然显示它
我需要对telnet会话进行故障排除并将其结果发送给另一个人。当我使用重定向时,我保存了会话的内容,但是我无法在控制台上看到它。 如何管道当前终端/程序,仍然在当前控制台上显示它。 当我使用下面的命令时,我可以保存程序的输出,但我无法在控制台上看到它。 telnet ADDRESS PORT >> myoutputfile 我可以使用telnet输出选项,我正在寻找一种独立于命令的方法来实现它。 该问题特定于telnet会话,但适用于任何其他命令,包括那些没有“保存输出到文件选项”的命令。
3 linux  console  telnet  pipe 

0
为什么bash中的here-strings比输入命令要慢?
我比较了unix here-strings和pipe数据输入的执行时间 bc: 管 time for i in {1..1000} do echo "sqrt(5.09)" | bc -q > /dev/null done real 0m3.584s user 0m0.899s sys 0m2.404s VS 这里串 time for i in {1..1000} do bc -q <<< "sqrt(5.09)" > /dev/null done real 0m5.137s user 0m0.686s sys 0m2.262s (这些值是平均值:多次测试) 所以 real 使用here-strings的执行时间比使用管道更大 但总和 …

1
使用带头的awk时如何解决“断管”错误
我从一个执行类似命令的命令中得到了管道错误: ls -tr1 /a/path | awk -F '\n' -vpath=/prepend/path/ '{print path$1}' | head -n 50 基本上我想列出(使用绝对路径)目录中最旧的X文件。 似乎发生的是输出是正确的(我得到50个文件路径输出)但是当head输出50个文件时它关闭stdin导致awk抛出一个损坏的管道错误,因为它仍然输出更多的行。
1 linux  pipe  awk  head 

2
如果在shell脚本中是否有换行符,如何输出变量而不更改?
我有一个shell脚本,从另一个shell脚本获取输入。流在stdin上传输。 我需要将stdin流的所有字节捕获到shell脚本中的单个变量。然后,对它执行一些操作,并通过stdout将其发回。 我遇到的问题是有时输入文件中有一个尾随的换行符,但有时却没有。如果没有,那么我不想添加一个。但是,如果有一个尾随换行符,我想保留它。 问题在于,无论我尝试什么,系统总是输出没有尾随换行符(如同的情况) printf )或者它总是以换行符输出(如同的情况) echo )。 请告诉我一个过程的名称是什么(不是 echo 要么 printf )它简单地接受一个变量并逐字逐句地逐字节输出它。我已经尝试了所有可能的选择 printf 并且它们都不能保留尾随换行符。 谢谢。
1 pipe  newlines  stdout 

0
FFMPEG通过netcat从管道接收流失败
我试图通过netcat接收流并将其传输到FFMPEG,然后输出到文件,但我收到一个错误。 我尝试过的最基本的命令是: $ nc -l -p 1935 | ffmpeg -v debug -y -f h264 -i pipe:0 out.mp4 ffmpeg version 3.1 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8.2 (GCC) configuration: --prefix=/pkg/ffmpeg.org/3.1/ffmpeg --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include --enable-gpl --enable-libx264 --enable-shared --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libschroedinger --enable-libtheora --enable-libvorbis --enable-libx264 --enable-postproc --enable-runtime-cpudetect --enable-memalign-hack …

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.