grep を使用してログの大きなファイルを小さなファイルに並べ替えますが、出力ログ ファイルには長いディレクトリ パスがあり、これは毎回一般的です。毎回検索と置換を行う必要があります。
grep -r "format" log.log |をgrepできる方法はありませんか?実行するfindnreplce
?
grep を使用してログの大きなファイルを小さなファイルに並べ替えますが、出力ログ ファイルには長いディレクトリ パスがあり、これは毎回一般的です。毎回検索と置換を行う必要があります。
grep -r "format" log.log |をgrepできる方法はありませんか?実行するfindnreplce
?
Sed
あなたが望むことをします。$file で foo のすべての一致を bar in-place に置き換える基本的な構文は次のとおりです。
sed -i 's/foo/bar/g' $file
置換するのではなく単に削除したい場合は、単純に「バー」を省略します (s/foo//g)。
正規表現のサポートなど、より多くの詳細については、このチュートリアルを参照してください。
sed -n '/match/s/pattern/repl/p'
match
のすべてのインスタンスを にpattern
置き換えて、正規表現 に一致するすべての行を出力しますrepl
。行にパスが含まれている可能性があるため、別の区切り記号を使用することをお勧めします。/
が通例ですが、次のこともできます。
sed -n '\@match@s@@repl@p`
2 番目のケースでは、省略pattern
するとmatch
、置換されるパターンに が使用されます。