たとえば、テキストの最初の列を切り取るために、データを「切り取り」にパイプしようとしています。これは動作します
$ 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を試しました)。ただし、簡単にアップグレードできないため、回避策があると便利です。
背景:(私がcvs status
知っている、CVS ...)の要約出力をフォームで提供するスクリプト/ワンライナーがあります
? filename
たとえば、まだコミットされていないファイルの場合。そのコマンドからの出力の一部をコピーして貼り付け、これを別のコマンドへの入力として使用して、これらのファイルをcvsに追加できるようにしたいと思います。言う:
$ cut -d\ -f2- | xargs cvs add
<paste lines>
<CTRL-D> # <-- doesn't work
アイデア?