Мне нужно запустить ключевое слово ./pythonScript один раз для каждого ключевого слова в текстовом файле. Как я могу это сделать из терминала gnome? (без необходимости изменять pythonScript)

псевдокод:

for each keyword in file:
  ./pythonScript keyword
  waitfor(pythonScript to finish)

3 ответа3

1

Предполагая, что в каждой строке есть одно ключевое слово, вот чисто переносимое решение для оболочки:

while read -r line; do
    ./pythonScript "$line"
done <file

Вот немного более простое решение для Linux:

<file xargs -d '\n' -n 1 ./pythonScript

Оба решения позволяют использовать любой символ, кроме новой строки, в ключевом слове.

0

Есть ли ключевое слово в строке из файла? Если так,

while read keyword
do
    ./pythonScript $keyword
done < file
0

Если у вас установлен GNU Parallel http:// www.gnu.org/software/parallel/, вы можете сделать это:

cat file | parallel ./pythonScript

Это будет запускать задания параллельно, может быть очень полезно, если вы работаете на многоядерном компьютере.

Посмотрите вступительное видео для GNU Parallel, чтобы узнать больше:http://www.youtube.com/watch?v=OpaiGYxkSuQ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .