如何傳遞文件內容以作為參數?

如何傳遞文件內容以作為參數?

我有一個包含 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

相關內容