2012-01-31 8 views
12

私は、テキストファイルを読み込み、特定のキーワードを含まないすべての行を削除し、それらの行を新しいファイルに出力するために、どのコマンドを端末に挿入する必要があるのか​​不思議に思っていました。たとえば、キーワードは「システム」です。私はシステムを含むすべての行を新しい別個のファイルに出力できるようにしたい。ありがとう特定の単語を含む行を見つけるためのターミナルコマンド?

答えて

18

grepはあなたの友人です。

grep system <filename> > systemlines.out 

男のgrepとあなたにも(例:さらなる有用な情報を得ることができます:

たとえば、あなたが行うことができ、行番号、1+ライン前、1つの+ライン後、否定を - すなわち:すべてgrepなどが含まれていない行)

Windowsを実行している場合は、cygwinをインストールするか、grep用のwin32バイナリを見つけることができます。

+0

grepは大文字と小文字を区別していることを覚えておいてください。 –

+2

grep -iを使って大文字小文字を区別することはできますが、それは必須条件ではないと思います。 –

-1

はgrep「システム」ファイル名>新しいファイル名

あなたはそれが少し賢い「dysystemic」のような言葉で行を含めないようにしたいかもしれませんが、それは開始するには良い場所です。 grepコマンド以下

+0

grepの '-w'オプションは検索式を強制的に"単語全体 "にします。つまり、空白で区切られます(行の先頭と末尾を含む)。 – ghoti

2

は、次のコマンド

でウルサーバー上のmanページを参照してください、grepのウルサーバー上でどのように動作するかを学ぶためにウル問題

grep -i yourword filename1 > filename2 

with -i for case insensitiveness

without -i for case sensitiveness

を解決します

man grep 
3
grep '\<system\>' 

ワードシステムを含む行を検索し、システムは部分文字列として検索しません。

+0

これも助けになりました! – willykao

関連する問題