linux文件操作 使用linux解答

linux文件操作-3
统计如下路径每个子目录内in.fa文件序列数量
/mnt/sdb/share/bin/linux-demo/file3/*/in.fa

img

结果参考:/mnt/sdb/share/bin/linux-demo/file3/seq.stat.xls

img

命令提示:grep / awk / sed

【以下回答由 GPT 生成】

首先,我们需要使用find命令来找到指定路径下的所有in.fa文件,并将结果输出到一个临时文本文件中。

```bash
find /mnt/sdb/share/bin/linux-demo/file3/ -name "in.fa" > temp.txt

接下来,我们使用sed命令来处理temp.txt中的路径信息,只保留每个子目录的路径。

sed 's#/[^/]*$##' temp.txt | sort | uniq > temp_dirs.txt

然后,我们可以使用grep、awk和sed命令来统计每个子目录内的in.fa文件序列数量。

while read -r dir; do
    count=$(grep -c "in.fa" "$dir/in.fa")
    echo -e "$dir\t$count"
done < temp_dirs.txt > /mnt/sdb/share/bin/linux-demo/file3/seq.stat.xls

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^