文字位置に基づいて一致と追加

文字位置に基づいて一致と追加

ファイルの固定位置にある数字/文字に基づいて一致し、更新する必要があるファイルがあります。

586位置の文字= 5の場合は、スペース614に0 "0"を挿入します。 586位置の文字= 1の場合は、スペース615に0 "0"を挿入します。

sedを使用して欠落している他の文字を追加し、さまざまな場所からスペースを削除/追加しましたが、これらの問題はファイル全体で修正されました。

ベストアンサー1

awkのオプションである可能性があります(テストされていません):

$ awk 'BEGIN{FS=OFS=""}$586==5{$614="0" $614}$586==1{$615="0" $615}1' inputfile >newfile
$ mv newfile inputfile

FS="" に設定すると、awk 区切り文字は文字です。

おすすめ記事