Поиск повторяющихся экземпляров тега в файле

ваша ошибка здесь:

rm -r ~/ .pulse

на этом веб-сайте не было пробелов между ~ / и .pulse .

Итак, вы фактически удалили все файлы в каталоге ~ / (ваш домашний каталог) и в подкаталоге .pulse текущего каталога.

Восстановление файлов - сложная работа. Проверьте этот ответ, пожалуйста: Unix / Linux восстановить удаленные файлы

3
12.03.2017, 05:03
2 ответа

Использование XMLStarlet (иногда устанавливается как xmlstarlet вместо простого xml ) для извлечения соответствующих тегов, затем sort и uniq для поиска дубликатов:

$ xml sel -t -m '/blah/ramout' -c '.' -nl test.xml | sort | uniq -d
<ramout assot="f0123_fun10" bapel="2 or 6"/>

Команда xml будет соответствовать всем тегам непосредственно под тегом , и для каждого из них скопируйте тег, за которым следует новая строка, в стандартный вывод.

sort сортирует и uniq -d извлекает любые повторяющиеся записи из вывода sort .

2
27.01.2020, 21:25

В моих тестах работает что-то вроде этого:

awk -F"/>" -v RS="<ramout assot=" 'NR>1{print RS $1 FS}' file1

echo "Finding Cuplicates:"
awk -F"/>" -v RS="<ramout assot=" 'NR==1{next}seen[$1]++==1{print RS $1 FS}' file1

<ramout assot="f0123_fun10" bapel="2 or 6"/> 
<ramout assot="f0123_fun10" bapel="3 or 5"/> 
<ramout assot="f0123_fun10" bapel="2 or 6"/>
<ramout assot="f0123_fun10" bapel="4"/> 
Finding Cuplicates:              
<ramout assot="f0123_fun10" bapel="2 or 6"/>  

Протестируйте это онлайн здесь

Мы пользуемся преимуществом awk, чтобы объявить настраиваемый разделитель записей (RS) и настраиваемый разделитель полей (FS). Вышеупомянутые две команды могут быть объединены в одном awk offourse, это был просто тест.

0
27.01.2020, 21:25

Теги

Похожие вопросы