ファイルの特定の列で指定された条件を使用してフィールドに値を追加します。

ファイルの特定の列で指定された条件を使用してフィールドに値を追加します。

92番目の列の値が次から始まり10、2番目の列の長さが次の場合、8 ファイルの2番目の列にプレフィックス番号を追加する必要があります。

file.txt

T01|10017516|01|ABCD|1203|EFGH   
T01|10905704|01|ABCD|1203|EFGH           
T01|550007656|02|ABCD|1203|EFGH     
T01|550007657|01|ABCD|1203|EFGH      
T01|10190570|01|ABCD|1203|EFGH                             
T01|950007659|01|ABCD|1203|EFGH           
T01|950007657|01|ABCD|1203|EFGH           
T01|10473696|01|ABCD|1203|EFGH  
T01|850007651|01|ABCD|1203|EFGH

結果は次のとおりです。

T01|910017516|01|ABCD|1203|EFGH  
T01|910905704|01|ABCD|1203|EFGH  
T01|550007656|02|ABCD|1203|EFGH  
T01|550007657|01|ABCD|1203|EFGH  
T01|910190570|01|ABCD|1203|EFGH  
T01|950007659|01|ABCD|1203|EFGH  
T01|950007657|01|ABCD|1203|EFGH   
T01|910473696|01|ABCD|1203|EFGH  
T01|850007651|01|ABCD|1203|EFGH

ベストアンサー1

これはうまくいきます(説明が必要ないことを願っています)。

awk -F'|' -vOFS='|' '$2 ~ /^10/ && length($2) == 8{$2="9"$2}; {print}' file.txt

おすすめ記事