gpt4 book ai didi

linux - 将文件名前缀作为输入传递给程序

转载 作者:太空宇宙 更新时间:2023-11-04 12:41:39 24 4
gpt4 key购买 nike

我有一些具有以下名称的文件:

A-C-F3_accepted_hits.bam
A-VR-M6R_accepted_hits.bam

文件存储在 Linux 服务器上。我想从所有带有 A-C-F3 的文件中提取下划线前的字符串(即 A-VR-M6R.bam 等)扩大。

随后,我想将这些字符串用作另一个程序生成的输出文件的前缀,该程序将使用 *_accepted_hits.bam输入文件。

更具体地说,我的输入如下:

 samtools sort -n A-C-F3_accepted_hits.bam A-C-F3_sorted
samtools sort -n A-VR-M6R_accepted_hits.bam A-VR-M6R_sorted

此处 samtools 将对 A-C-F3_accepted_hits.bam 的内容进行排序。我想要前缀为 A-C-F3_sorted 的输出文件,后跟默认扩展名。同样,我有 17 个文件要执行此任务。希望这能让事情变得清楚。谢谢。

最佳答案

您可以使用awk 提取文件名的前缀并将其附加到文件名的公共(public)部分。

OCOMM=_accepted_hits.bam
for i in `ls *.bam`;
do
OFILE=`echo $i | awk -F_ '{print $1}'`;
FILENAME=$OFILE$OCOMM;
echo $FILENAME;
done

关于linux - 将文件名前缀作为输入传递给程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39997986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com