для цикла при соответствии обеим передним и задним частям имени файла

[115793] Сообщение об ошибке заключается в том, что задается вопрос "да/нет", а "1" - это не "да" или "нет". Не используйте команду mkfs parted: она неполная ( даже не поддерживает ntfs ), сломанная, и была удалена из разобранного апстрима несколькими релизами/годами ранее из-за этого. Вместо этого используйте [116161]mkntfs[116162].[115794].
1
24.02.2015, 19:08
2 ответа

Если ваша оболочка поддерживает 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}
5
27.01.2020, 23:17

Предполагая, что я понимаю, что вы ищете, вы можете решить его использовать 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
0
27.01.2020, 23:17

Теги

Похожие вопросы