Если ваша оболочка поддерживает KSH $ { var / search / form}
Форма расширения параметров ( ksh93
, ZSH
, MKSH
, YASH
, Bash
):
for r1 in *R1*; do
r2=${r1/R1/R2}
singles=${r1/R1/singles}
trimmed1=trimmed$r1
trimmed2=trimmed$r2
sickle pe -f "$r1" \
-r "$r2" \
-o "$trimmed1" \
-p "$trimmed2" \
-s "$singles"
done
POSIXLY, вы могли бы сделать
r2=${r1%%R1*}R2${r1#*R1}
Предполагая, что я понимаю, что вы ищете, вы можете решить его использовать awk
:
#!/bin/bash
for file in *_R1_*; do
file=`basename $file`
newFile=`echo $file | awk -F '_R1_' '{print $1}'`_R2_`echo $file | awk -F '_R1_' '{print $2}'`
sName=`echo $file | awk -F '_R1_' '{print $1}'`_singles_`echo $file | awk -F '_R1_' '{print $2}'`
echo $newFile
rName="$newFile"
oName="trimmed_$file"
pName="$file"
done