Скрипт Bash для прохождения каталога - PullRequest
0 голосов
/ 07 октября 2011

У меня есть каталог с файлами XML и другими каталогами.Все остальные каталоги имеют XML-файлы и подкаталоги и т. Д.

Мне нужно написать скрипт (вероятно, bash), который для каждого каталога запускается java XMLBeautifier directory, и так как мои навыки в сценариях bash немного чепухи, я бы действительнопризнателен за помощь.

Ответы [ 2 ]

4 голосов
/ 07 октября 2011

Если вам нужно получить каталоги, вы можете использовать:

$ find . -type d

, просто передайте это вашей программе следующим образом:

$ find . -type d | xargs java XMLBeautifier

Другой подход было бы получить все файлы с find и передать их вашей программе следующим образом:

$ find . -name "*.xml" | xargs java XMLBeautifier

Это берет все файлы .xml из текущего каталога и рекурсивно через все подкаталоги.Затем передайте их один за другим с xargs до java XMLBeautifier.

1 голос
/ 07 октября 2011

Find - это потрясающий инструмент ... однако, если вы не уверены в названии файла, но имеете смутное представление о том, что содержит этот XML-файл, вы можете использовать grep.

Например, если вы точно знаете, что все ваши XML-файлы содержат фразу «правильный XML-файл» (вы можете изменить эту фразу на то, что считаете нужным), выполните следующую команду в командной строке ...

grep -IRw "correct xml file" /path/to/directory/*

-I опция ищет файл и возвращает имя файла при совпадении с шаблоном
-R опция достигает вашего каталога рекурсивно
-w гарантирует, что данный шаблон соответствует в целом, а неОтдельное слово по отдельности

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...