ファイル内容を一度に交換または修正

ファイル内容を一度に交換または修正

各アカウントにいくつかの行を変更する必要があるファイルがあります。

変更する必要がある行は次のとおりです。

PstlInfo <some content> NNYYYN(すべてのアカウントにはこの行があります)

NNYYNN (always Y or N only 6 positions)これで、各アカウントの上記の行を編集150 できます。PstlInfo

PstlInfo <some content> NNNNNN(上記のいずれかの行に設定する必要がありますNNNNNN

エディタでファイルを開き、手動でこれを実行するたびに、その場所(わずか5つの場所)viから始まる項目のみを変更したいと思います。150

アカウントが少ないと簡単に編集できます。PstlInfo

ベストアンサー1

AIXを使用しています。これには、sed次のことができるコマンドがあります。

sed '/^PstlInfo/s/^\(.\{150\}\)[NY]\{6\}/\1NNNNNN/' <yourfile >newfile

PstlInfoこれにより、NまたはY()で構成される6文字が開始行のNNNNNNに変わり、行[NY]\{6\}の先頭から150文字()が置き換えられます。^.\{150\}150文字がコピー(\(...\))され、代替文字列(\1)に復元されます。

おすすめ記事