ファイルの内容をパラメータとして渡すにはどうすればよいですか?

ファイルの内容をパラメータとして渡すにはどうすればよいですか?

10 行のファイルがあります1.txt。各行を順番に渡して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

関連情報