URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 10089
[ Назад ]

Исходное сообщение
"Создание скрипта с выполнением программы"

Отправлено roman51 , 16-Апр-16 17:28 
Всем здрасьте. Только осваиваю скрипты, читаю вики на вашем чудесном сайте потихоньку. Появилась практическая необходимость создать скрипт, который использует стороннюю программу (форматирование). Суть следующая: я задаю в скрипте переменную i, которая будет означать любой файл в указанной директории с расширением format1. Используя стороннюю программу и цикл for, для переменной i, я пытаюсь выполнить форматирование в format2 c сохранением имени. Выглядит у меня так:

#!/bin/bash
i=/dir/*format1 #все файлы с форматом format1
for $i
do
cd /dir2/ #директория программы
./prog $i /dir3/$i.format2 #выход с сохранением имени
done
exit 0

Скрипт, как вы поняли, не работает. Помогите с освоением.


Содержание

Сообщения в этом обсуждении
"Создание скрипта с выполнением программы"
Отправлено ALex_hha , 16-Апр-16 17:48 
как то так


#!/bin/bash

cd dir
ls *format1 | while read curr_file
do
   /dir2/prog ${curr_file} /dir3/${curr_file}.format2
done



"Создание скрипта с выполнением программы"
Отправлено roman51 , 16-Апр-16 18:03 
> как то так
>
 
> #!/bin/bash
> cd dir
> ls *format1 | while read curr_file
> do
>    /dir2/prog ${curr_file} /dir3/${curr_file}.format2
> done
>

Спасибо большое за помощь. Скрипт работает. Буду дальше осваивать :)


"Создание скрипта с выполнением программы"
Отправлено Pahanivo , 18-Апр-16 09:29 
> Спасибо большое за помощь. Скрипт работает. Буду дальше осваивать :)

литературку почитай - а то подобное "осваивание" с родни осваиванию специальности токаря путем подтаскивая болванок к станку ...


"Создание скрипта с выполнением программы"
Отправлено DeerFriend , 16-Апр-16 21:59 
Файлы с пробелами будут с проблемами.

"Создание скрипта с выполнением программы"
Отправлено Сергей , 16-Апр-16 23:24 
для программ всегда используйте полный путь к ним...



"Создание скрипта с выполнением программы"
Отправлено ALex_hha , 18-Апр-16 13:49 
> Файлы с пробелами будут с проблемами.

да, достаточно немного подправить

/dir2/prog "${curr_file}" "/dir3/${curr_file}.format2"


# ls
file with spaces.txt

# ls *.txt | while read curr_file; do cat ${curr_file}; done
cat: file: No such file or directory
cat: with: No such file or directory
cat: spaces.txt: No such file or directory

# ls *.txt | while read curr_file; do cat "${curr_file}"; done
123