Я прочитал сообщение загрузить все символы, включая новую строку, но я не работаю с XML, так что это немного отличается с моей командой Linux.
У меня есть следующие данные:
Example line 0</span>
<tag>Example line 1</tag>
<span>Example line 1.5</span>
<tag>
Example line 2
</tag>
Example line 3
<span>Example line 4</span>
Используя эту команду cat file.txt | grep -o '<tag.*tag>\|^--.*'
, я получаю:
<tag>Example line 1</tag>
Однако я хочу, чтобы вывод был:
<tag>Example line 1</tag>
<tag>Example line 2</tag>
Как я могу сопоставить что-либо между строками, включая новую строку?
Примечание. Мне нужно использовать <tag
и tag>
в виде строк, потому что другие файлы могут содержать несколько тегов и текст между строками. Будут обновлены образцы данных, чтобы показать это.
<tag
иtag>
, чтобы попасть между ними. Обновление выборочных данных. Извини :-/ 14.10.2016awk -v RS='</tag>' 'RT {gsub(/.*?<tag>|\n/, ""); print "<tag>" $0 RT}' file
14.10.2016