これら2つのSEDコマンドを組み合わせる最良の方法は何ですか?最初のコマンドはCSPを検索して1行下に移動します。 2番目のコマンドは、列3にセミコロンを配置します。
sed -ne '/CSP/{n;p;}' test1>test2
sed 's/./;/3' test2>final
このコマンドは1つのデータ行に適用する必要があり、単独で実行することはできません。
答え1
通常、sed
コマンドは改行またはセミコロンで区切って一緒に配置できます。実際にはshやpythonに少し似ています。 (ほとんどのsed
コマンド、つまり一部のコマンドには改行文字が必要です。)
したがってn
、およびを一緒に使用するには、最初のコマンドで行ったようにp
セミコロンを使用するだけです。この場合、コマンド全体は次のようになります。s
{n;p}
sed -ne '/CSP/{n;s/./;/3;p;}' test1 > final
代わりに、改行文字を使用することもできます。
sed -ne '/CSP/{n
s/./;/3
p
}' test1 > final
しかし、単純な1行のコマンドラインでこれを行うのは少し面倒ですが(明らかにLinuxでは難しいです)、csh
スクリプトをファイルに保存すると便利です。sed
答え2
また、より大きなファイルで作業し、より多くのファイルの内容を変更せずに維持する必要がある場合は、いくつかのパラメータを削除するのが役に立つという事実も発見しました。後で誰かがこれを見る場合に備えてこの質問に答えています。
sed '/CSP /{n;s/./;/3;}' test1>test2