如何从 find 命令获取具有替换扩展名的文件名

如何从 find 命令获取具有替换扩展名的文件名

右旋糖酐是一个转换文件的工具。正常用法是dextract -q test.h5 > test.fastq.如何将它与 find 命令结合起来,例如如何从带有扩展名而不是扩展名的命令中find All_RawData/Each_Cell_Raw/ -name "*.bax.h5" | xargs -I {} dextract -q {} >获取文件名?>findfastqh5

答案1

就像这样:

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

为了便于阅读,有一些换行符:

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

有关解释和理由,请参阅https://unix.stackexchange.com/a/321753/135943

相关内容