我想管道数据为“腰斩”,比方说,切掉文本的第一列。这工作

$ cat test.txt | cut -d\  -f2-

从stdin读也可以工作:

$ cut -d\  -f2- -
? doc/html/analysis.html
? doc/html/classxytree-members.html
<CTRL+D>

然而,一旦管道参与,它不接受我的<CTRL+D>了,我不能使信号“文件结尾”:

$ cut -d\  -f2- - | xargs echo

<强>更新这是显然的是旧版本的bash(3.00.15)的一个错误。它在最近的版本(试过4.0.33和3.2.25)的工作。这将是很好,有一些解决方法,不过,因为我不能轻松地升级。


背景:我已经得到形式的脚本/ oneliner,让我cvs status的精简输出(我知道,CVS ...)

? filename

e.g。一个文件尚未提交。我希望能够从该命令复制输出+粘贴部位,并以此作为输入到另一个命令时,将这些文件添加到CVS。说:

$ cut -d\  -f2- | xargs cvs add
<paste lines>
<CTRL-D>        # <-- doesn't work

想法?

有帮助吗?

解决方案

你试图

$ cat | cut -d\  -f2- | xargs cvs add
<paste lines>
<CTRL-D>        # <-- doesn't work

其他提示

您的实例工作对我罚款。您正在使用什么壳呢?什么事业?

一两件事,有时旅行达人的是,<大骨节病>控制 - <大骨节病> d 只有当它在该行的第一个字符的作品。如果复制和粘贴,则可能有时会不小心有空格作为该行的第一个字符,或在粘贴块的末尾没有新行,在这种情况控制 - d 将无法正常工作。只需回车,然后<大骨节病>控制尝试 - <大骨节病> d 再次,看看是否能解决您的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top