Como obter o nome do arquivo com uma extensão substituída do comando find

0

dextract é uma ferramenta que converte arquivos. O uso normal é dextract -q test.h5 > test.fastq . Como é possível combiná-lo com o comando de localização? find All_RawData/Each_Cell_Raw/ -name "*.bax.h5" | xargs -I {} dextract -q {} > Como obter o nome do arquivo após > do comando find com fastq extensão em vez de h5 extensão?

    
por user977828 10.07.2017 / 23:31

1 resposta

1

Assim:

find All_RawData/Each_Cell_Raw -name '*.bax.h5' -exec sh -c 'for f do dextract -q "$f" > "${f%.h5}.fastq"; done' find-sh {} +

Com algumas quebras de linha para facilitar a leitura:

find All_RawData/Each_Cell_Raw -name '*.bax.h5' -exec sh -c '
  for f
    do dextract -q "$f" > "${f%.h5}.fastq"
  done' find-sh {} +

Para obter explicações e justificativas, consulte o link .

    
por 11.07.2017 / 01:03