awk
どうすれば下部にのみテキストを追加できますか?パターンが見つからない場合ファイルに?
これはうまくいきません:
awk '{if ($0 !~ /pattern/) {print}; END {print "someText"}}' file
ファイルは 1MB 未満に小さくなります。
ベストアンサー1
もう1つのawk
方法は、大容量ファイルを処理するより速く、一度だけ終了することです。模様次の場合は、ファイルに何かを見つけて追加してください。模様見つかりませんでした。
awk '/pattern/{found=1; exit}; END{ if(!found) print "append" >>FILENAME }' infile
または以下を使用してくださいgrep
。
<infile grep -q pattern || echo 'appending...' >>infile