- ベストアンサー
ファイルから特定列を削除する方法
Linux系OSにてファイルから特定の文字列を削除する方法を教えてください。 やりたい事としては、ログファイルから"error"のキーワードを含む列を永久的に削除すると言ったものです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんわ "grep -v" でキーワードを含まない行を出力できるので こんなカンジでどうでしょう? $ more org.txt | grep -v error > conv.txt $ rm org.txt $ mv conv.txt org.txt
その他の回答 (2)
- mtfoggy
- ベストアンサー率14% (37/255)
回答No.3
#2の回答のように、errorを表示させないような設定は決してしないでください。 システムエラーや、不正アクセスの警告などが出力されないので、非常に危険です。
noname#39145
回答No.2
mahnyさんの教えてくれたコマンドでいけそうですね。 ただ、永久的に削除するならば、ログファイルはどんどん新しく書かれていくので、シェルスクリプトを書いてcronで定期的に実行させるなどの必要がありそうですね。 そもそも、永久的に"error"のログがいらないのならば、削除する以前に"error"のログを出力させなければいいだけです。 "/etc/syslog.conf"の"priority"を変更すればいいだけです。 "error"だけいらないのであれば"!err"にしちゃうとか。 詳しいやり方は自分で調べてください。 ちなみに、これは"syslog"を使ったログの場合なので、他のは知らんです。