Удалить двойные кавычки вокруг целых чисел только в 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

Regex 101 Demo

Другие вопросы по тегам