![パラメータとして使用するファイルの内容を渡すには? [閉鎖]](https://linux33.com/image/146478/%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%A8%E3%81%97%E3%81%A6%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E6%B8%A1%E3%81%99%E3%81%AB%E3%81%AF%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
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