Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 21.02.2013
Сообщений: 17

Как выполнить действие для каждого файла из списка?

13.05.2013, 15:35. Показов 2364. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,

есть скрипт питона:
Python
1
2
3
4
5
6
7
8
#!/usr/local/bin/python
import os
os.system('rm -rf object')
for line in file('quest_list'):
    if os.system('./qc ' + line):
        print 'Error occured on compile ' + line
        import sys
        sys.exit(-1)
можно ли реализовать данный скриптик на Shell - ибо устанавливать python на фряшку из-за одного скрипта не очень хочется(
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.05.2013, 15:35
Ответы с готовыми решениями:

TShapeList, выполнить действие для всех элементов списка
Есть список из Shape TShapeList = specialize TFPGList<TShape>; В него добавлены Shape1, Shape2, Shape3 Как по нажатию на кнопку сделать...

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

Для каждого бинарного дерева выполнить преобразование дерева в список, результат вывести в виде списка списков
Объясните почему не работает, задание было таким " Дан список, элементы которого — непустые бинарные деревья с числами в качестве...

9
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
14.05.2013, 02:33
Цитата Сообщение от valkiriy Посмотреть сообщение
можно ли реализовать данный скриптик на Shell
можно, но пиши задание - скрипт на питоне может не быть оптимальным
0
1 / 1 / 0
Регистрация: 21.02.2013
Сообщений: 17
18.05.2013, 01:38  [ТС]
то есть получится примерно так:
Bash
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh
cd /путь
rm -rf object
for line in quest_list
    do 
        if [./qc + line];
            then 
                echo "Error occured on compile " + line
                exit
        fi
    done
конечно не проверял, возможно ошибки в синтаксисе ибо, shell в принципе не знаю - кому не сложно поправьте, т.к. очень хочется обойтись шелом
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
18.05.2013, 01:50
Цитата Сообщение от valkiriy Посмотреть сообщение
т.к. очень хочется обойтись шелом
напиши задание
0
1 / 1 / 0
Регистрация: 21.02.2013
Сообщений: 17
18.05.2013, 02:00  [ТС]
Суть в том что в директории есть lua-скрипты, директория object(обработанные скрипты), обработчик (qc), Quest_list(файл со списком файлов со скриптами отправляемых на обработку)...

скрипт читает название файла в 1 строчке Quest_list и отправляет его на обработчик (qc) который в свою очередь сохраняет обработанный скрипт в директорию object
далее:
аналогично 2, 3, 4... строчки из Quest_list
пока не обработает все файлы из списка или не выдаст ошибку на определенном файле
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
18.05.2013, 11:07
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[guest@localhost obr]$ ls
obr.sh  qc  quest_list
[guest@localhost obr]$ cat quest_list 
script 1
script 2
script 3
[guest@localhost obr]$ ./obr.sh
qc <script 1>
qc <script 2>
qc <script 3>
[guest@localhost obr]$ ls
object  obr.sh  qc  quest_list
[guest@localhost obr]$ ls object/
script 1.obj  script 2.obj  script 3.obj
[guest@localhost obr]$
Вложения
Тип файла: zip obr.zip (1.5 Кб, 13 просмотров)
Тип файла: zip obr_prev.zip (1.5 Кб, 6 просмотров)
1
1 / 1 / 0
Регистрация: 21.02.2013
Сообщений: 17
18.05.2013, 14:08  [ТС]
благодарю) скрипт работает безупречно)
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
18.05.2013, 14:18
не, там опечатку исправил
0
1 / 1 / 0
Регистрация: 21.02.2013
Сообщений: 17
18.05.2013, 15:51  [ТС]
да меня интересовал только obr.sh, который работает безупречно) остальное так же выполняет действия как при питоне, т.к. qc - является скомпилированным приложением) все таки очень благодарен за рабочий скрипт ибо не мог понять какой у шела синтаксис (на курсах как-то забил на командную строку unix-систем - теперь вот приходится людей отвлекать)
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.05.2013, 00:53
Цитата Сообщение от valkiriy Посмотреть сообщение
да меня интересовал только obr.sh
ну, в нём и была опечатка
остальное для отладки скрипта сделано
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.05.2013, 00:53
Помогаю со студенческими работами здесь

Как выполнить sql запрос для каждого элемента массива php?
Я парсю некоторые данные с сервера и записываю массив данных в переменную $table. Есть запрос: SELECT MAX(`Id`) FROM `tt` WHERE...

Для матрицы А размера n x m выполнить следующее действие
Добрый день! Камрады, пожалуйста, помогите решить две задачи: 1) Даны N точек на плоскости. Найти среди них точки, являющиеся...

Как выполнить действие?
Представить в виде алгоритма решение задачи. Имеются три сосуда емко- стью 8, 5 и 3 л. Первый из них наполнен водой. Как разлить воду в...

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

Как выполнить действие по нажатию кнопки?
Это возможно? При нажатии на кнопку нужно выполнить: public void CreateUserAccount(string login, string password, string...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru