2016-10-25 9 views
0

こんにちは私はタブで区切られたテキストファイルを持っています。列は年齢と名前です。行の 数は彼らの年齢とき、私は、新しいファイルに行を検索し、出力したい50Unixシェル - 検索タブで区切られたファイル

ある「18」

cat old_filename | grep "eighteen" > new_filename 

である私がしようとすると、それは行に出力しませんnewfileが見つかった最初のインスタンスのみeighteen

+2

を持っているでしょう

name age tom eighteen joe sixteen sam eighteen grep "eighteen" old_filename > new_filename 

あなたは、実際の入力ファイルや他のツールを提案することができるかどうかを確認するために期待される出力のサンプルを提供することができます! – Inian

+0

本当に "新しいファイルに行を出力せず、最初のインスタンスのみ"を出力する場合は、システムに問題があります。また、以下の解決策は本質的に同じものです(不要な 'cat'を使わずに)。それはより良い仕事ですか?そうでない場合は、別のマシンでこれを試してください。また、テストを高速化するために、 'grep eighteen old_file'を実行します。ああ、あなたの 'old_file'はMSのウィンドウで作成されましたか?もしそうなら、 'grep'を実行する前に' dos2unix old_file'があなたの問題を解決するかもしれません。がんばろう。 – shellter

答えて

1

grepはファイル内をチェックすることができます。デフォルトでは行に一致します。

入力されたのであれば:新しいファイル名が

tom  eighteen 
sam  eighteen 
関連する問題