我正在尝试将数据通过管道传输到“剪切”中,例如剪切第一列文本。这有效
$ cat test.txt | cut -d\ -f2-
从标准输入读取也可以:
$ 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
例如,对于尚未提交的文件。我希望能够从该命令复制+粘贴部分输出并将其用作另一个命令的输入,该命令将这些文件添加到 cvs。说:
$ cut -d\ -f2- | xargs cvs add
<paste lines>
<CTRL-D> # <-- doesn't work
想法?