csvで日付形式を変更する

csvで日付形式を変更する

私は次のCSVを持っています

9999999,012021,I,0099999999,000000000099999999+,000000000000000000-,000000000000000000-
9999999,012021,I,0099999999,000000000099999999+,000000000000000000-,000000000000000000-
9999999,012021,I,0099999999,000000000099999999+,000000000000000000-,000000000000000000-
9999999,012021,I,0099999999,000000000099999999+,000000000000000000-,000000000000000000-

常に01日を日付として追加するように2番目の列をフォーマットしたいと思います。

9999999,2021-01-01,I,0099999999,000000000099999999+,000000000000000000-,000000000000000000-
9999999,2021-01-01,I,0099999999,000000000099999999+,000000000000000000-,000000000000000000-

ベストアンサー1

次の操作がawk実行されます。

awk -F, 'BEGIN {OFS=","} {a=substr($2,1,2);b=substr($2,3,4);$2=b"-"a"-01";print $0}' input_file

これはほとんどすべてのawk.for Solarisの使用で機能します。 /usr/xpg4/bin/awkまたは /usr/xpg6/bin/awk(@EdMortonのコメントを参照)

PS私は012021 012021と年であると仮定します。

おすすめ記事