.Text dosyalarında tarih formatını değiştir


0

2016.10.27 biçimindeki birçok .txt dosyasında birçok tarih var. Tüm dosyalarda tüm tarihler arasında sadece noktalara tire koymak istiyorum. Onları Linux bash komutlarıyla değiştirmek istiyorum, belki bir tane yeter. Bunu başarmak için tüm bu dosyaları düzenlemeliyim ve başka hiçbir şeyi değiştirmem gerekiyor. Tarihin herhangi bir karakterle çevrilebileceğini varsayalım, bu nedenle biçiminden başka tarihleri ​​bulmanın yolu yok. Bunu nasıl yapabilirim?

Yanıtlar:


0

Tamam anladım!

sed -i -E 's/([0-9]{4})\.([0-9]{2})\.([0-9]{2})/\1-\2-\3/g' *.txt

Ayrıca, tarih DD.MM.YYYY biçimindeyse, YYYY-AA-DD biçiminde değiştirmek için kullandım:

sed -i -E 's/([0-9]{2})\.([0-9]{2})\.([0-9]{4})/\3-\2-\1/g' *.txt

Bunu ekleyerek biraz daha güvenli hale getirebilirsiniz \<...\> kelime sınırlarını eşleştirmek için kalıbın etrafında sed -i -E 's/\<([0-9]{4})\.([0-9]{2})\.([0-9]{2})\>/\1-\2-\3/g' *.txt
janos
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.