ファイル拡張子を削除しようとしましたが、時には.2が.1または.3に./m161016_023529_42229_c101105162550000001823259804261747_s1_p0.2.bax.h5
なりました。./m161016_023529_42229_c101105162550000001823259804261747_s1_p0.2
これはバッシュコードです:
#!/bin/bash
for i in $(ls -d /work/waterhouse_team/All_RawData/Each_Cell_Raw/RSII_SMRT*/Analysis_Results);
do
cd $i
baxs=($(find . -type f -name "*.bax.h5"))
cat <<EOF
#qsub <<EOF
#!/bin/bash -l
#PBS -N bax2bam
#PBS -l walltime=150:00:00
#PBS -j oe
#PBS -l mem=50G
#PBS -l ncpus=4
#PBS -M [email protected]
##PBS -m bea
source /work/waterhouse_team/apps/pacbio/setup-env.sh
cd $i;
bax2bam ${baxs[@]} -o ${baxs[0]%%.bax.h5} --subread
EOF
done
これはbash出力です:
#qsub <<EOF
#!/bin/bash -l
#PBS -N bax2bam
#PBS -l walltime=150:00:00
#PBS -j oe
#PBS -l mem=50G
#PBS -l ncpus=4
#PBS -M [email protected]
##PBS -m bea
source /work/waterhouse_team/apps/pacbio/setup-env.sh
cd /work/waterhouse_team/All_RawData/Each_Cell_Raw/RSII_SMRT72/Analysis_Results;
bax2bam ./m161014_135413_42229_c101104702550000001823259804261737_s1_p0.1.bax.h5 ./m161014_135413_42229_c101104702550000001823259804261737_s1_p0.2.bax.h5 ./m161014_135413_42229_c101104702550000001823259804261737_s1_p0.3.bax.h5 -o ./m161014_135413_42229_c101104702550000001823259804261737_s1_p0.1 --subread
#qsub <<EOF
#!/bin/bash -l
#PBS -N bax2bam
#PBS -l walltime=150:00:00
#PBS -j oe
#PBS -l mem=50G
#PBS -l ncpus=4
#PBS -M [email protected]
##PBS -m bea
source /work/waterhouse_team/apps/pacbio/setup-env.sh
cd /work/waterhouse_team/All_RawData/Each_Cell_Raw/RSII_SMRT73/Analysis_Results;
bax2bam ./m161016_023529_42229_c101105162550000001823259804261747_s1_p0.2.bax.h5 ./m161016_023529_42229_c101105162550000001823259804261747_s1_p0.3.bax.h5 ./m161016_023529_42229_c101105162550000001823259804261747_s1_p0.1.bax.h5 -o ./m161016_023529_42229_c101105162550000001823259804261747_s1_p0.2 --subread
私が逃したものは何ですか?
事前にありがとう
ベストアンサー1
文字列操作コマンドはその.bax.h5
部分のみを削除します。追加の先行点と数字を削除するには、次のものを使用します${baxs[0]%%.[0-9].bax.h5}
。