2017-05-10 5 views
0

で文字/文字列で空白行を置き換えるために、私が持っている例えばので、私は、タグ付きテキストファイルにすべての私の空白行を交換しようとしています:どのようにSED

aaaaa 

bbbbb 

ccccc 

と私は

<a>aaaaa</a><a>bbbbb</a><a>ccccc</a> 
をしたいです

私は

sed 's/^\s*$/</a><a>/‘ file.txt 

を試してみましたが、それは実行されません、私が代わりに何をすべきでしょうか?ありがとう!

+0

あなたが別の区切り文字を使用する必要があります。あなたの置換文字列にも '/'があるので。言ってやるがいい。 'sed '@^\ s * $ @ @' file' – sat

+0

それは動作する!本当にありがとう。 –

+0

パイプをセパレータ '|'として使用します。 ""の中の "/"は引数セパレータではないことをsedが知ることは不可能です。また、あなたが探しているパターンは 's |^\ s * \ n(\ w +)\ n \ s * \ n | \ 1 | g '。もう一つは、複数行のサポートが必要なことです。あなたのsedがそれを行うことができるかどうかは分かりません。 「https://unix.stackexchange.com/questions/264344/how-to-replace-a-multi-line-code-with-sed」 – aiao

答えて

1

私はawkコマンドを使用しており、期待通りに動作しています。

awk 'NF{printf "<a>" "%s",$0 "</a>"} END {print ""}' test.txt 

出力:

<a>aaa</a><a>bbbbb</a><a>ccccc</a> 
関連する問題