У меня есть файл с рисунком ниже. Я хочу заменить все вхождения, начиная с «id» и заканчивая первым возникновением, с пустой строкой в редакторе vi «id»: 797979,Как заменить пустую строку между двумя шаблонами
0
A
ответ
0
Протестировано это sed на образце, представленном в комментариях, и оно работает так долго так как шаблон "id:xyz,
появляется только один раз на линию.
sed -i 's/\(.*\)\("id.*,\)\(.*\)/\1\3/' filename
1
с СЭД
sed 's/"id"[^,]*,//g'
вы должны следить за жадного матча, когда есть больше чем одна запятая на линии (некоторые другие ответы выше не делали)
Смежные вопросы
- 1. Mysql Заменить текст, содержащийся между двумя шаблонами
- 2. AWK: Извлечь строку между двумя разными шаблонами
- 3. Заменить строку слеш между двумя
- 4. Заменить строку между двумя строками
- 5. Заменить строку между двумя строками
- 6. Как заменить строки между двумя шаблонами одной строкой в sed?
- 7. Как заменить строку между двумя другими строками
- 8. Заменить нечисловую пустую строку
- 9. ЗАМЕНИТЬ пустую строку
- 10. Найти и Заменить строку между двумя значениями
- 11. Заменить/удалить строку между двумя характером
- 12. заменить строку, содержащуюся между двумя символами
- 13. заменить строку между двумя первыми встреченным «&» гольцами
- 14. RegEx: Заменить строку между двумя несовпадающих строк
- 15. Нужно получить строку между двумя шаблонами в PowerShell
- 16. Печать всех строк между двумя шаблонами, содержащими определенную строку
- 17. Заменить пустую строку с нераскрытым
- 18. R: Получить значение между двумя шаблонами
- 19. Regex заменяет, но только между двумя шаблонами
- 20. Найти строку между совпадающими шаблонами
- 21. Как заменить пустую строку в Python
- 22. Заменить строку с несколькими шаблонами хвостовых
- 23. Замена многострочной строки между двумя шаблонами с помощью sed
- 24. Извлечь совпадающие строки между двумя другими шаблонами
- 25. SED: удалять определенные строки между двумя шаблонами
- 26. Извлечь числа между двумя шаблонами javascript
- 27. Нажмите данные между двумя метеорными шаблонами
- 28. Получите слово между двумя шаблонами в preg_match_all
- 29. Заменить строку между строками
- 30. Regex заменить между двумя словами
Честно говоря, это может быть проще сделать с sed: 'sed -is/\ 'id. * \, // g filename'. Сначала проверьте регулярное выражение на копии файла, так как у меня его нет. – Munir
Я попробовал вашу рекомендуемую команду, но это удаляет текст после, до конца строки. Я хочу удалить текст до, а не текст. –
say У меня есть строка в моем файле {"element1": "value", "id": 0, "rlrmr": "sdfs", "element2": "sdfaf"} , когда я выполняю команду sed -is/"id. * \, // g filename", после чего он также создает пустой текст. {"element1": "value", –