特定のパターンの後にのみ次の行にスペースを追加する

特定のパターンの後にのみ次の行にスペースを追加する

私はこの質問が2年前に提起され、良い結果が得られたことを知りました。

sed 's/$/      /' SUDIP1>SUDIP2

しかし、各行にスペースを追加すると、後続のsedコマンドがめちゃくちゃになることがわかりました。以下を検索したいですEQU

EQU      
888-111-2222   T   1234

次に、1行下に移動し、次の種類の行の末尾に余分なスペースを追加し、その間に他のすべての行を保持します。

888-111-2222   T   1234(6 white spaces here)

このサイトの多くの人が私の質問を重複してマークしましたが、そうではありません。彼らが指摘する問題は、文字Cが現れた後に文字列を検索し、それを別の文字列に置き換えることです。私の質問は、行のテキストを変更せずに行の末尾にスペースを追加するという点で異なります。質問を冗長と言うには早すぎないでください。人々の評判とポイントに影響を与えてください!

ベストアンサー1

お持ちの場合牛に似た一種の栄養 sed、努力する:

sed '/^EQU/ {n; s/$/      /}' SUDIP1>SUDIP2

またはPOSIXリー:

sed '/^EQU/ {
n
s/$/      /
}' SUDIP1>SUDIP2

おすすめ記事