awk、sed、grepを使用して、1つの単語の複数のシートを新しい行に印刷します。

awk、sed、grepを使用して、1つの単語の複数のシートを新しい行に印刷します。

テキストファイルがありますが、各単語(複数の文字)を新しい行に印刷したいと思います。単語が単一文字で構成されている場合は、次の単語の一部として扱われ、新しい行に印刷する必要があります。 2つの単語の間にある場合は、2番目の単語の後に来る必要があります。例:

Unix & Linux Stack Exchange is a question and answer site for users of Linux,

出力

Unix
& Linux
Stack
Exchange
is 
a question 
and 
answer 
site
for
users
of
Linux

ベストアンサー1

どうですか?

sed -r 's/([^ ]{2,}) /\1\n/g' file
Unix
& Linux
Stack
Exchange
is
a question
and
answer
site
for
users
of
Linux,

スペースの前にスペース以外の2つ以上の文字パターンがあることを確認し、それを「逆参照」パターンと文字<LF>に置き換えます。

おすすめ記事