Цикл в терминале Bash и применить команду - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь настроить какой-либо скрипт, используя терминал в Mac, где я пытаюсь выполнить следующие шаги:

Подсчитать все вхождения в файле XML определенного элемента.Примените таблицу стилей, которая создаст новое подмножество исходного файла, и каждый новый файл должен содержать подмножество из 10 элементов.

Сценарий будет выглядеть примерно так, и мне нужна помощь, так как я новичок в bash.скриптинг.

countElements =$(grep "<test>" /Users/test/Downloads/xml.xml | wc -l)
start = 0;
for f in /Users/test/Downloads/*.xml; 
{have a loop here saying while start <= countelements apply the following command}
     do xsltproc --stringparam param1 $countElements param2 $start transform2.xsl data2.xml > output$start$countElements.html
start = start + 10
{end while}
done

1 Ответ

0 голосов
/ 11 октября 2018

Как то так?(не проверено)

dir='/Users/test/Downloads'

countElements=$(grep '<test>' "$dir"/xml.xml | wc -l)
start=0
for f in "$dir"/*.xml  
do
    while (( start <= countelements )) 
    do
        xsltproc --stringparam param1 $countElements param2 $start transform2.xsl data2.xml > output$start$countElements.html
        start=$((start + 10))
    done
done

Пробелы не допускаются вокруг = в назначении, а завершающая точка с запятой ; не действует.Я использовал переменную dir для гибкости.

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