Задать вопрос
@vanchezz

Найти данные в файлах bash?

Добрый день в bash почти ноль+, у меня есть много разных поддиректорий с разными именами, но в каждой из них есть 123.xml с данными одного типа.
Как мне из всех 123.xml которые лежат в директориях найти нужные мне параметры типа uid data name и записать в файл их все по очереди?
Подскажите пожалуйста?

UPD. Спасибо за ответы. Чем дальше в лес тем злее партизаны. Многое прояснилось но не совсем.
В итоге пришел к тому что нужно мне из этих всех *document.xml вытащить такое и в эдаком порядке
grep -h -r xdms:number */*document.xml&grep -h -r xdms:date */*document.xml&grep -h -r xdms:header */*document.xml
 <xdms:header xdms:type="��������" xdms:uid="197C0D87-15CD-4019-B7B0-ED101EDC75A1" xdms:created="2020-07-14T12:18:04.023">
  </xdms:header> 
      <xdms:date>2020-07-10</xdms:date>
      <xdms:number>А26-6666</xdms:number>
          <xdms:date>2020-07-10</xdms:date>
          <xdms:number>А26-20-НО-77039231-СО1</xdms:number>
  <xdms:header xdms:type="��������" xdms:uid="066677AA-EB8B-45FB-A4CD-99B2D2239F33" xdms:created="2020-07-14T12:18:04.353">
  </xdms:header> 
  <xdms:header xdms:type="��������" xdms:uid="51429AE7-3A66-4713-804B-82FB8D760731" xdms:created="2020-07-14T12:18:04.417">
  </xdms:header> 
      <xdms:number>А26-2222</xdms:number>
      <xdms:date>2020-07-10</xdms:date>
          <xdms:date>2020-07-10</xdms:date>
          <xdms:number>А26-20-НО-77039231-СО1</xdms:number>
  <xdms:header xdms:type="��������" xdms:uid="EA50943C-AA47-4978-A5C9-A6A6583EF65C" xdms:created="2020-07-14T12:18:04.563">
  </xdms:header> 
  <xdms:header xdms:type="��������" xdms:uid="22331428-64B9-40E7-A6E0-A4A488280C9D" xdms:created="2020-07-14T14:41:31.613">
  </xdms:header> 
      <xdms:date>2020-07-10</xdms:date>
          <xdms:date>2020-07-10</xdms:date>
      <xdms:number>А26-7777</xdms:number>
          <xdms:number>А26-20-НО-77039231-СО1</xdms:number>

В итоге получаю простыню данных из тех 29 моих *document.xml файлов, которые генерирует софт разработчика
Как мне сделать соответственно чтоб было понятно number date uid по столбцам, ато какая-то неразбериха.
Ведь grep ищет в каталогах поочереди и выдает информацию блокои из каждой поддиректории в каком-то алфавитном порядке или сортировка идет по дате?
Если по дате и времени, то отчего 2020-07-14T12:18:04.353 нет значений number и date, а в 2020-07-14T12:18:04.417
они какбы есть.
Т.е. как бы проследить все зависмости number date uid?
  • Вопрос задан
  • 119 просмотров
Подписаться 1 Сложный Комментировать
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
grep -oP 'xdms:document.*uid="\K[0-9A-F-]*' */*document.xml | tr '\n' ';'
Ответ написан
sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.
grep "текскт_регулярка" файл_в котором ищем
grep "бла бла бла">> выхлоп
а лучше "один раз выкурить "
man finde и man grep )))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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