2016-04-11 19 views
0

Ben formun sekme ayrılmış tarihleri ​​içeren bir dosya var: 20160101. Bütün satırları değiştirmek istiyorum, böylece tarihler 2016-01-01 gibi yapılandırıldı. Bunu şimdiye kadar emaclarda yapıyorum ama bu dosyalar çok büyük olduğunda çok yavaştır ve bir komut satırı seçeneği olup olmadığını görmek isterim?değiştirme biçimi

Özellikle, şu anda şöyle dosyası:

20160101  20160103 
20160104  20160107 
20160106  20160201 
20160201  20160205 
20160119  20160122 
    ...   ... 

olacak:

2016-01-01  2016-01-03 
2016-01-04  2016-01-07 
2016-01-06  2016-02-01 
2016-02-01  2016-02-05 
2016-01-19  2016-01-22 
    ...   ... 

cevap

1
sed -e 's/2016\(..\)\(..\)/2016-\1-\2/g' input >output 
3
sed -r 's/([0-9]{4})([0-9]{2})([0-9]{2})/\1-\2-\3/g' 
+0

ben parantez kaçmak için gerekli bulundu .. aksi senin regex benim –

+1

olmadan daha iyi kaçmak gerekiyor. –

1
sed 's/\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)/\1-\2-\3/g'