GNU/Linux >> Linux の 問題 >  >> Linux

行が 60 文字を超える場合に改行を挿入する方法

試してみてください:

$ awk '{print $1; for (i=1;i<=length($2);i=i+60) print substr($2,i,60)}' file
>Directory1/file3
CTTSCCCTTTTTSEEEEECGGGSCEEEEECCCSSBCCCSCCCCCTTTCCCCCCCCSCBCC
CCCCCCSCTTSCCCTTTTTSEEEEECGGGSCEEEEECCCSSBCCCSCCCCCTTTCCCCCC
CCSCBCCCCCCCCSCTTSCCCTTTTTSEEEEECGGGSCEEEEECCCSSBCCCSCCCCCTT
TCCCCCCCCSCBCCCCCCCCS
>Directory1/file4
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAA

仕組み:

<オール>
  • print $1

    これにより、行の最初のフィールドが出力されます。

  • for (i=1;i<=length($2);i=i+60) print substr($2,i,60)

    行の 2 番目のフィールドでは、フィールドの最後に到達するまで一度に 60 文字を出力します。


  • GNU coreutils fold を使用できます :

    fold -w60 file
    

    Linux
    1. 印刷されない文字が含まれているファイル名のファイルを削除するにはどうすればよいですか?

    2. ファイルの最初の行の前にテキストを挿入する方法は?

    3. Sedは改行文字を置き換えることができますか?

    1. 値が欠落している新しい行を挿入しますか(na)?

    2. Sed改行から文字を削除しますか?

    3. 長い行に4文字ごとにスペースを挿入するにはどうすればよいですか?

    1. コンソール アプリケーション (Linux) で印刷された文字を消去するにはどうすればよいですか?

    2. シェルで 10 個を超えるパラメーターを処理する方法

    3. ファイルを連結してファイル間に改行を挿入する