我正在尝试为目录中的每个 .fastq 文件生成单独的 .md5 文件。我找到了为多个文件生成单个 .md5 文件的解决方案,但这不是我想要的。
我有file1.fastq
, file2.fastq
,file3.fastq
并且想要生成file1.md5
, file2.md5
, file3.md5
。
我认为 FOR 循环可以解决问题,但我不是程序员,似乎无法找到解决此问题的方法。
我还尝试了以下代码:
find . -type f -name "*.fastq.gz" -exec sh -c "md5sum < {} > {}.md5" \;
Run Code Online (Sandbox Code Playgroud)
它为每个 .fastq 文件正确生成一个 .md5 文件,但 .md5 文件内容不正确,即我得到 64399513b7d734ca90181b27a62134dc -
代替 64399513b7d734ca90181b27a62134dc testfile.fastq
任何人都可以帮忙吗?
最简单的情况是:
for file in *fastq; do md5sum "$file" > "$file".md5; done
Run Code Online (Sandbox Code Playgroud)
但是,这将创建文件名,如file1.fastq.md5
. 扩展在这里基本上是无关紧要的,所以这不是问题,但如果你更喜欢file1.md5
这样做:
for file in *fastq; do md5sum "$file" > "${file//.fastq}".md5; done
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2676 次 |
最近记录: |