n番目の文字の後に列を分割する

n番目の文字の後に列を分割する

下のファイルの2番目の列を4文字ごとに分割しようとしています。

ファイル.txt

>1A    THISISATEST
>1B    THATISATEST

希望の出力:

>1A    THIS    ISATEST
>1B    THAT    ISATEST

検索して修正しようとしたら、次のsedコマンドを使用してみましたsed 's/(.{4})(.{7}).*/\2 \3/' file.txt。しかし、私はそれを動作させることができないようです。私は何を逃したことがありませんか?しかし、提案があればそれawkも役に立ちます。また、あなたの提案について説明してください。私はawk学ぶ過程にいますsed

ベストアンサー1

ここに解決策がありますawk。最初の4文字と2番目の列の残りの部分を2つの変数に分割して印刷します。

]$ awk '{s=substr($2,1,4)}{g=substr($2,5,length($2))}{print $1,s,g}' file.txt
1A THIS ISATEST
1B THAT ISATEST

おすすめ記事