Я передал эти переменные в команду mysql, чтобы получить информацию о грантах для этих пользователей и хостов и добавить в / tmp / grantlist:

я есть скрипт bash, который читает строки из текстового файла с 4 столбцами (без заголовков). Количество строк может быть максимум 4 строки или меньше. Слова в каждой строке разделяются символом пробела.

ab@from.com   xyz@to.com;abc@to.com   Sub1   MailBody1
xv@from.com   abc@to.com;poy@to.com   Sub2   MailBody2
mb@from.com   gmc@to.com;abc@to.com   Sub3   MailBody3
yt@from.com   gqw@to.com;xyz@to.com   Sub4   MailBody4

В настоящее время я анализирую файл и после получения каждой строки я сохраняю каждое слово в каждой строке в переменной и вызываю mailx четыре раза. Интересно, есть ли элегантное решение awk / sed для нижеупомянутой логики.

найти общее количество строкпокаread $lineхранить каждую строку в переменнойразобрать каждую строку какi=( $line1 ), j=( $line2 )&nbsp;и т.дполучить значения из каждой строки как${i[0]}, ${i[1]}, ${i[2]}&nbsp;а также${i[3]}&nbsp;и т.двызовmailx -s ${i[2]} -t ${i[1]} -r ${i[0]} < ${i[3]}разобрать следующую строку и позвонитьmailxделайте это, пока не будет достигнуто больше строк или максимум 4 строки

Предоставляют ли awk или sed элегантное решение для описанной выше логики итерации / зацикливания?