У меня есть файл со строками, похожими на это:Извлечение нескольких совпадающих строк из совпадающих строк в файле с использованием СЭД
abcd u'current_count': u'2', u'total_count': u'3', u'order_id': u'90'
я должен найти CURRENT_COUNT и Total_count для каждой строки файла. Я пытаюсь выполнить команду, но она не работает. Пожалуйста помоги.
grep current_count file | sed "s/.*\('current_count': u'\d+'\).*/\1/"
Он выводит всю строку, но я хочу что-то вроде этого:
'current_count': u'3', 'total_count': u'3'
Спасибо. Это работает, но почему вы использовали 'p' в конце команды sed. – Anuj
@Anuj: 'sed -n' не выводит строки по умолчанию. 's /// p' печатает пространство с рисунком, только если была сделана успешная замена. Поэтому он также использует 's/pattern /' для фильтрации строк, выполняя задание, которое раньше выполнял 'grep', или что'/current_count /! D' (удалять несогласованные строки). Это все на странице man. –