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

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

У меня есть файл 1.txtс 10 строками. Я хочу последовательно передавать каждую строку sedи сохранять вывод в журнале.

job=`tail -1 1.txt`
getdd=`grep $job "mainlog.log"| sed -n '1p' $i > /tmp/result.log

решение1

Из вашего вопроса совершенно не ясно getdd, что он бесполезен, поскольку не несет никакой ценности.

Вы можете использовать whileцикл:

while read -r job;
do
 grep "$job" "mainlog.log"| sed -n '1p' "$i" >> /tmp/result.log
done < 1.txt

решение2

Я бы использовал xargs

xargs -a 1.txt -I{} sh -c 'grep "$1" mainlog.log | head -n 1' _ {} > /tmp/result.log

или то же самое, что и цикл while:

while IFS= read -r job; do
    grep "$job" mainlog.log | head -n 1
done < 1.txt > /tmp/result.log

Связанный контент