![如何从 find 命令获取具有替换扩展名的文件名](https://linux22.com/image/115168/%E5%A6%82%E4%BD%95%E4%BB%8E%20find%20%E5%91%BD%E4%BB%A4%E8%8E%B7%E5%8F%96%E5%85%B7%E6%9C%89%E6%9B%BF%E6%8D%A2%E6%89%A9%E5%B1%95%E5%90%8D%E7%9A%84%E6%96%87%E4%BB%B6%E5%90%8D.png)
右旋糖酐是一个转换文件的工具。正常用法是dextract -q test.h5 > test.fastq
.如何将它与 find 命令结合起来,例如如何从带有扩展名而不是扩展名的命令中find All_RawData/Each_Cell_Raw/ -name "*.bax.h5" | xargs -I {} dextract -q {} >
获取文件名?>
find
fastq
h5
答案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。