Я передал эти переменные в команду mysql, чтобы получить информацию о грантах для этих пользователей и хостов и добавить в / tmp / grantlist:
я есть скрипт bash, который читает строки из текстового файла с 4 столбцами (без заголовков). Количество строк может быть максимум 4 строки или меньше. Слова в каждой строке разделяются символом пробела.
[email protected] [email protected];[email protected] Sub1 MailBody1
[email protected] [email protected];[email protected] Sub2 MailBody2
[email protected] [email protected];[email protected] Sub3 MailBody3
[email protected] [email protected];[email protected] 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 элегантное решение для описанной выше логики итерации / зацикливания?