gawk processa vários arquivos dentro do diretório

0

Eu tenho vários arquivos de texto em uma pasta que quero processar através do gawk, em vez de processá-los individualmente, é possível processá-los todos de uma vez sem mesclá-los em um arquivo .txt

Exemplo de script -

"C:\cygwin64\bin\gawk.exe" -F: 'FNR==NR{a[$1]=$2;next} $2 in a{print $1 FS a[$2]}' email.phone.txt username.email.txt > username.phone.txt

Exemplo de uso -

email.phone.txt - contém:

[email protected]:phoneexample

username.email.txt - contém:

user1:[email protected]
user131:[email protected]

SAÍDA ESPERADA:

user1:phoneexample
user131:phoneexample

mas em vez de processar um dos

email.phone.txt

arquivos eu poderia processar um diretório cheio deles?

Exemplo -

C:/directory/folder/example

contendo:

file1.txt
file2.txt
file3.txt
...
    
por questionaires 10.09.2018 / 01:32

1 resposta

0

Assim, você tem um usuário de mapeamento de arquivos para enviar e-mail e vários arquivos mapeando e-mail para o telefone. Sim, o awk pode fazer isso: basta processar o usuário: arquivo do telefone primeiro

gawk -F: -v OFS=: '
    NR == FNR  {user[$2] = $1; next} 
    $1 in user {print user[$1], $2}
' user.email.txt email.* > user.phone.txt
    
por 10.09.2018 / 16:08

Tags