簡體   English   中英

如何從 bash 中的文件路徑中提取文件名的一部分

[英]How to extract a portion of the file name from a file path in bash

for name in $FASTQ_DIR/*/R1/*.fastq.gz
do
echo "$name"
done
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/220800636_walk_up_431_miseq/R1/MISEQ_431_Plasmid_library_sample_01_S1_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/220800636_walk_up_431_miseq/R1/MISEQ_431_Undetermined_S0_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/241816583_walkup_194_hiseq_2500_repeat/R1/HISEQ_194_REPEAT_A01_FR_KAPA_25x_1ug_SR_1ngx4rxns_S1_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/241816583_walkup_194_hiseq_2500_repeat/R1/HISEQ_194_REPEAT_A02_FR_KAPA_25x_2ug_SR_1ngx4rxns_S2_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/241816583_walkup_194_hiseq_2500_repeat/R1/HISEQ_194_REPEAT_A03_FR_KAPA_25x_3ug_SR_1ngx4rxns_S3_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/241816583_walkup_194_hiseq_2500_repeat/R1/HISEQ_194_REPEAT_A06_FR_KAPA_23x_3ug_SR_1ngx14rxns_S4_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/241816583_walkup_194_hiseq_2500_repeat/R1/HISEQ_194_REPEAT_A10_FR_TAKARA_25x_1ug_SR_1ngx4rxns_S5_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/241816583_walkup_194_hiseq_2500_repeat/R1/HISEQ_194_REPEAT_A11_FR_TAKARA_25x_2ug_SR_1ngx4rxns_S6_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/241816583_walkup_194_hiseq_2500_repeat/R1/HISEQ_194_REPEAT_A12_FR_TAKARA_25x_3ug_SR_1ngx4rxns_S7_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/241816583_walkup_194_hiseq_2500_repeat/R1/HISEQ_194_REPEAT_B03_FR_TAKARA_25x_3ug_SR_1ngx12rxns_S8_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/241816583_walkup_194_hiseq_2500_repeat/R1/HISEQ_194_REPEAT_B05_Plasmid_DNA_KAPA_15x_5ng_SR_40pgx4rxns_S9_R1_001.fastq.gz
/lustre/scratch119/realdata/mdt1/team113/projects/im13_basespace_runs/FASTQ/241816583_walkup_194_hiseq_2500_repeat/R1/HISEQ_194_REPEAT_Undetermined_S0_R1_001.fastq.gz

對於每個文件路徑,我只想提取:

HISEQ_194_REPEAT_A01_FR_KAPA_25x_1ug_SR_1ngx4rxns_S1
HISEQ_194_REPEAT_A02_FR_KAPA_25x_2ug_SR_1ngx4rxns_S2

等等

這怎么可能? 謝謝

這可以得到我需要的結果:

for FILE_PATH in $FASTQ_DIR/R1/*.fastq.gz
do
  FILE_NAME="$(basename "$FILE_PATH")"
  SAMPLE=${FILE_NAME%_R1_001.fastq.gz}
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM