2016-08-31 5 views
0

テキストファイルのフォーマットを変更して、一致する文字列の直後の行が切り捨てられ、一致する文字列の行に追加されるようにしたいとします。私は、最終的な結果を探しています対応する行perlの直後に "backspace"を適用します

Answer: 
renice 

X. 
find/-name filename & 
Y. 
find/-name filename 
Z. 
bg find/-name filename 

:ここでは例のテキストです

Answer: renice 

X. find/-name filename & 
Y. find/-name filename 
Z. bg find/-name filenames 

私は、次の右のトリムの提案を取得できませんよ:

$str =~ s/\s+$//; 

生成するには私はインラインが必要です。スペースはなくなりましたが、私が必要とする文字列はまだ蛇行しています。切り取って貼り付ける線は、「回答:」「X」の直後にしか現れません。 "Y" 「Z」

答えて

0

それはあなたの完全なソリューションを見るために役立つだろうが、ここであなたが好きなものを行いワンライナーです:

perl -pe's/\s*$//if /^.+?[:.]/' 

これは改行を含む任意の空白を、置き換え、との文字列の末尾に単一のスペースですが、パターンが一致する場合のみです。このパターンでは、行の先頭にピリオドまたはコロンが続く文字が検索されます。 -i.bakを追加して、ファイルをインプレースで変更します。お役に立てれば!

関連する問題