Leia as linhas do Arquivo no Bash e analise as palavras em variáveis para os parâmetros mailx
Eu tenho um script bash que lê linhas de um arquivo de texto com 4 colunas (sem cabeçalhos). O número de linhas pode ter no máximo 4 linhas ou menos. As palavras em cada linha são separadas pelo caractere ESPAÇO.
[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
Atualmente, estou analisando o arquivo e, depois de obter cada linha, estou armazenando cada palavra em cada linha em uma variável e chamando o mailx quatro vezes. Pensando se existe uma solução awk / sed elegante para a lógica abaixo mencionad
encontrar o número total de linhasenquantoread $line
, armazene cada linha em uma variávelpara cada linha comoi=( $line1 )
, j=( $line2 )
etcget valores de cada linha como${i[0]}
, ${i[1]}
, ${i[2]}
e${i[3]}
etcligarmailx -s ${i[2]} -t ${i[1]} -r ${i[0]} < ${i[3]}
para a próxima linha e ligue paramailx
faça isso até que não sejam atingidas mais linhas ou no máximo 4 linhasO awk ou sed fornece uma solução elegante para a lógica de iteração / loop acim