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