Я передал эти переменные в команду 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 )
и т.дполучить значения из каждой строки как${i[0]}
, ${i[1]}
, ${i[2]}
а также${i[3]}
и т.двызовmailx -s ${i[2]} -t ${i[1]} -r ${i[0]} < ${i[3]}
разобрать следующую строку и позвонитьmailx
делайте это, пока не будет достигнуто больше строк или максимум 4 строкиПредоставляют ли awk или sed элегантное решение для описанной выше логики итерации / зацикливания?