Eu construí o seguinte comando find:
find ./ \( -path "*work*" -o -path "*ncvlog_lib*" \) -prune -o -type f -not
-name "*.wlf" -not -name "*.vcd" -not -name "*.sim" -not -name "*vcs*"
O comando é invocado em uma única linha. Eu quebrei a linha aqui para facilitar a leitura.
O único problema é que ele imprime os nomes dos diretórios removidos, apesar de fornecer o argumento -type f. Exemplo de saída:
./cdl2verilog_files/test_synth/work
./cdl2verilog_files/test_synth/some_file1.txt
./cdl2verilog_files/test_synth/something_else.txt
./cdl2verilog_files/test_synth/another_file.v
work
é um diretório. Seu conteúdo não está incluído na saída, portanto, a remoção funciona conforme necessário. No entanto, o próprio diretório é impresso. Não consigo encontrar uma solução para isso. Alguma ideia?
A propósito, estou usando o tcsh.