Удалить двойные кавычки вокруг целых чисел только в CSV-файле, регулярное выражение?
У меня есть CSV-файл с полями, например, так:
"231444","344","some string","222"
Я безуспешно пытался удалить двойные кавычки из целых чисел в CSV. Я попробовал немного sed, и попытался awk/gawk, но у меня действительно проблемы с этим. Ожидаемый результат будет:
231444,344,"some string",222
Там нет отрицательных целых чисел. Любая помощь будет высоко ценится, и спасибо заранее.
2 ответа
Решение
Просто для справки. Это можно сделать с помощью одного Perl-лайнера.
Linux:
perl -i.bak -p -e 's/"(\d+)"/$1/g' input.txt
Для справки, Windows(одиночная кавычка не работает):
perl -i.bak -p -e "s/\"(\d+)\"/$1/g" input.txt
Ваше регулярное выражение будет /"(\d+)"/g
который должен быть заменен на \1
,
Не зная sed, я предполагаю, что это будет что-то вроде этого (на примере Википедии):
sed 's/"(\d+)"/\1/g' inputFileName > outputFileName