長さが7より大きい場合、awkを使用して1行を2行に分割するにはどうすればよいですか? [閉鎖]

長さが7より大きい場合、awkを使用して1行を2行に分割するにはどうすればよいですか? [閉鎖]

たとえば、コマンドラインからこのような内容を印刷したいとします。 file.txtというファイルがあるとしましょう。

 What is life?
 how are you?
 hi
 whatup
 this is more than

awkを使用してコマンドラインから印刷したいが、文字数が7より大きい場合、出力は次のようになります。

 What is 
 life?
 how are 
 you?
 hi
 whatup
 this is
 more than

したがって、デフォルトでは、awkを使用するときに文字数が7より大きい場合、出力から行を2行に分割します。

ベストアンサー1

次の場所でこれを行うことができますawk

$ awk '{sub(/.{8}/,"&\n"); print}' file
What is
life?
how are
you?
hi
whatup
this is
more than

実際に作業に最適なツールではありません。より簡単に同じことができます。

$ fold -sw 8 file
What is 
life?
how are 
you?
hi
whatup
this is 
more 
than

Perlも使用できます。

$ perl -pe 's/.{8}/$&\n/' file
What is 
life?
how are 
you?
hi
whatup
this is 
more than

おすすめ記事