题
我想管道数据为“腰斩”,比方说,切掉文本的第一列。这工作
$ 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 骨节病>再次,看看是否能解决您的问题。
不隶属于 StackOverflow