SED コマンドのマージ

SED コマンドのマージ

これら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

おすすめ記事