2017-01-13 4 views
-3

Можно ли конвертировать преобразование d.m.Y h: m: s в Y-d-m h: m: s для большого файла в linux?convert d.m.Y h: m: s to Y-d-m h: m: s для большого файла в linux

Выборочные данные

"30.07.2016 00:00:00",DN123,PAPN,PAPN,TEST,918945, 

хотел бы преобразовать в

"2016-07-30 00:00:00",DN123,PAPN,PAPN,TEST,918945, 
+2

это действительно так! Пожалуйста, покажите свои усилия в этом, по крайней мере, путем проверки похожих примеров с этого сайта. – fedorqui

ответ

0

Предположим, что ваш файл называется A.csv

Используйте следующее:

awk -F"," '{print "\""substr($1,08,4)"-"substr($1,5,2)"-"substr($1,2,2)substr($1,12,9)"\","$2","$3","$4","$5","$6","}' A.csv > A.csv_new 

Yo u может заменить новый файл старым

mv A.csv_new A.csv 
+0

Нет, он должен работать. Я использовал запятую как разделитель –

+0

Я бы не хотел указывать столбцы (т.е. $ 2, $ 3 ...). Ниже приведен код, но как удалить unmodified $ 1. КОД: awk -F "," '{print "\" "substr ($ 1,08,4)" - "substr ($ 1,5,2)" - "substr ($ 1,2,2) substr ($ 1,12 , 9) "\", "$ 0" "} 'file.csv –

+0

@SantoshPillai Что вы подразумеваете под удалением немодифицированного $ 1? Вещь - манипуляция с датой не является родной для bash, поэтому обходной путь –