-5

Я хочу написать скрипт, который читает файл и выполняет команду для каждой строки в файле. Эта команда содержит переменную, для которой нам нужно передать каждую строку в файле.

Файл имеет только один столбец и около 500 строк.

3 ответа3

2

попробуй это:

#!/bin/sh
if [ -f $1 ]; then
        while read line; do
                ./execute.sh $line;
        done < "$1"
fi

Чтобы выполнить, ./script.sh datafile.txt

2

Команда xargs с параметром -I делает именно это:

xargs -I {} yourcommand ... {} ... < yourinputfile

где ... остальные аргументы вашей команды (если есть). Часть {} заменяется каждой строкой из yourinputfile .

1

Ваш вопрос не ясен, но если вы хотите написать скрипт для выполнения другого файла, попробуйте следующую команду:

if [ -f /home/sepahrad/MyFile ]; then

./MyFile

fi

Когда вы выполняете ваш файл, он выполняет команды MyFile по одной. Вы должны заменить свой адрес файла вместо /home/sepahrad/MyFile.

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