sed -e 'script' -e 'script'
同じですかsed "script;script"
?
また、単一ファイルチェック中にこれらの複数のコマンドが実行されますか?それとも、より多くのスクリプトを入れるほど、ファイルに対してより多くのスキャン/パスが実行されますか? (スクリプトごとに1つ)
sedはスクリプト言語なので、マルチパス理論に傾いています...たとえば、次のスクリプトがある場合は、次のsed "script;script"
sedスクリプトがあります。
script
script
したがって、すべてがプログラムで行われると仮定するのは当然です。
しかし、だからどうですか-e 'script' -e 'script'
?
最も重要なのは、sedにこれを一度だけ実行して、大容量ファイルに貴重なCPUサイクルを節約するように指示する方法はありますか?sedがこれを実行できない場合は、このようなタスクを実行する他の方法はありますか? (たぶんawkはもっと適していますか?ちょっと待ってください)
お時間をいただきありがとうございます。
答え1
各入力行に対して、各式/スクリプトが順番に適用されます。注文する
sed -e 's/apple/orange/g' -e 's/orange/red/g'
文字列のすべての項目を置き換えます
apple
そしてorange
文字列としてred
。ただ旅行データを入力して。
sed
処理ストリームはストリームエディタ結局、入力ストリームは検索可能である必要はありません。
あなたが提示した例は、
sed -e "script1" -e "script2"
同じですか?
sed "script1;script2"
これは次のとおりです。
sed -f file1 -f file2
その中には、以下に関連する科がfile1
含まれています。script1
file2
script2
sed -f file
file
含む
script1
script2
または
script1;script2
あなたのミッションに適しているかどうかsed
は完全にミッションに依存します。同様に、ファイルや入力ストリームを複数回解析する必要はありませんsed
。一部のタスク、特に集計データを必要とするタスクがawk
より適しています。awk
sed
これはエディタであり、awk
テキスト処理言語に近いです。