Recebi um arquivo zip com uma estrutura de pastas que inclui parênteses. Eu trabalhei através de dois processos no cli e agora mesclá-los em um script
A primeira busca através da estrutura de arquivos para arquivos específicos corrigindo os parênteses, em seguida canaliza para tshark para processar. minha saída usando sed funciona no stoud mas o pipe tshark não gosta do caminho que estou jogando.
find <path> -iname *.cap |sed 's/(/\(/' |sed 's/)/\)/'
pega pasta / pasta (descrição) /file.cap resulta em pasta / pasta (descrição) /file.cap legal!
quando eu adiciono isso a um script bash
#/BIN/BASH
capfiles=($(find <path> -iname *.cap | sed ’s/(/\(/‘ |sed ’s/)/\)/‘))
for i in “${capfiles[@]}”;do
tshark -r $i -T fields -e dns.qry.name |sort u > $i.uniquefqdns2lookup.txt
done
Eu obtenho
'tshark: The file "folder/folder\(description\)/file.cap" doesn't exist.
'tshark: The file folder/folder\(description\)/file.cap" doesn't exist.
'tshark: The file folder/folder\(description\)/file.cap" doesn't exist.
Eu tentei brincar com ./ no patch como um personagem explícito sem sorte. essa saída se parece com:
'tshark: The file "./"folder/folder\(description\)/file.cap" doesn't exist.
'tshark: The file "./folder/folder\(description\)/file.cap" doesn't exist.
'tshark: The file "./folder/folder\(description\)/file.cap" doesn't exist.
O que estou perdendo? Eu estou totalmente fora com isso?