Soluçãoto get a comma delimited list filenames in an email
GNU awk :
awk -v RS='\n\n' 'BEGIN{ fn="" }
match($0, /filename="([^"]+)";[[:space:]]+size=/, a){
gsub(/[[:space:]]*/, "", a[1]);
fn = (fn!=""? fn", ":"")a[1]
}END{ print fn }' file
-
fn
- a string resultante contendo todos os nomes de arquivos (após o processamento) -
-v RS='\n\n'
- define o separador de registro como quebra de linha dupla -
/filename="([^"]+)";[[:space:]]+size=/
- padrão regex para capturar o nome do arquivo em cada cabeçalhoContent-Disposition
na matriz de correspondênciasa
A saída:
How-To_21_Monitor_Mode_Deployment_Guide.pdf, How-To_24_Low_Impact_Mode.pdf, SBTGxYVWPE1wI9SAjl5b2PUfF1LCjbU3aChsoch5eXuI4GrIP9bRhfiaOuwL1U;.,~!@#$%....txt