日付を00/00/0000形式に切り取るには?

日付を00/00/0000形式に切り取るには?

.csvファイルから抽出された日付を0/0/0000から00/00/0000まで埋め、変更したいです(例:1/9/2016 - > 01/09/2016)

このスクリプトがあります

sed 's/\/1\//\/01\//g; s/\/2\//\/02\//g; s/\/3\//\/03\//g; s/\/4\//\/04\//g; s/\/5\//\/05\//g; s/\/6\//\/06\//g; s/\/7\//\/07\//g; s/\/8\//\/08\//g; s/\/9\//\/09\//g' file_name.csv > file_name2.csv
sed 's/,1\//,01\//g; s/,2\//,02\//g; s/,3\//,03\//g; s/,4\//,04\//g; s/,5\//,05\//g; s/,6\//,06\//g; s/,7\//,07\//g; s/,8\//,08\//g; s/,9\//,09\//g' file_name2.csv > file_name3.csv 

ベストアンサー1

0最初の2つの数字が1桁の数字の場合、このsedステートメントは最初の2つの数字にaを追加します。

sed -e 's!^[0-9]/!0&!' -e 's!/\([0-9]/\)!/0\1!'        

例えば

$ cat x
1/1/1970
10/1/2000
10/10/2100

$ sed -e 's!^[0-9]/!0&!' -e 's!/\([0-9]/\)!/0\1!' x
01/01/1970
10/01/2000
10/10/2100

おすすめ記事