#csv #sed #comma
#csv #sed
Вопрос:
Мне нужно очистить CSV, в котором перечислены некоторые числа. Для 4 и более цифр это дает число в двойных кавычках с запятой. Мне нужно удалить этот тип запятой.
Пока я получил это:
sed 's/"[0-9]*,[0-9]*"/"idk"/g'
Который успешно идентифицирует запятую, которую я ищу, отдельно от других запятых.
example,134,"idk",0.91%,8.0
example,96,"idk",2.62%,6.9
example,89,367,3.68%,5.8
Как мне сообщить sed, что мне нужно только удалить запятую из запроса соответствия?
Редактировать: Извините, ожидаемый результат — просто удалить запятую.
в: example,89,"1,456",3.68%,5.8
out: example,89,"1456",3.68%,5.8
Комментарии:
1. Вы ищете
sed 's/("[0-9]*),([0-9]*")/12/g'
? (Нет необходимости использовать обратную косую черту запятой, она не имеет особого значения в регулярных выражениях.)
Ответ №1:
Вы говорите sed «запомнить» другие части и использовать их в строке замены. Т.е. используйте обратную ссылку.
sed 's/("[0-9]*),([0-9]*")/12/g'