( ! -path "..." -type f -name ... -o -name ...gz ) -exec ...
é analisado como
( ( ! -path "..." -type f -name ... ) -o ( -name ...gz ) ) -exec ...
porque (o implícito) e se liga mais strong que ou . Você provavelmente quer
! -path "..." -type f ( -name ... -o -name ...gz ) -exec
para que o filtro ! -path
(e -type
) se aplique aos arquivos *.gz
também. O% final -exec
também faz parte da cadeia e implícita, portanto, além do par com -o
intermediário, as ações não precisam de parênteses ao redor delas.
Com sua expressão completa:
find "$PWD" ! -path "$PWD/FASTQC" -type f \( -name *.f*q -o -name *.f*q.gz \) \
-exec ln -sv {} "$PWD/FASTQC" \;