Проблема со следующей строкой:
bam=$(find. -type f -name "*.bam") # extract.bam
sample="$(echo $bam|cut -d_ -f3-)" # remove before second underscore
Это можно сделать одной строкой:
i=$(find. -type f -name "*.bam" -print | while read f;do echo "$f" | cut -d_ -f3-;done| cut -f 1 -d '.') ## To take the file names and then cut.
, а затем добавить цикл for, чтобы сделать каталог:
for x in $i
do mkdir -p $DIR/$x
done
DIR=/home/vvek/MyLearning/Linux/bam/ ## define data directory path
cd "$DIR" || exit 1 # check directory exists or exit
for RDIR in R_2019* ; do ## start processing matching "R_2019*" to operate on desired directory and expand
cd "$RDIR"/BAM ## change directory to subfolder inside $RDIR
i=$(find. -type f -name "*.bam" -print | while read f;do echo "$f" | cut -d_ -f2-;done| cut -f 1 -d '.') # extract.bam
for x in $i
do mkdir -p $DIR/$x
done
done ## close loop
На самом деле не хотелось платить $$ за решение, предложенное Internetz.Так что я придумал это:
Снова загрузите Fedora 31 Live с USB-накопителя и выполните следующие действия:
Здесь мой макет раздела 'fdisk -l /dev/sda':
/dev/sda1 2048 1180000 1180000 579M Windows RE
/dev/sda2 1180000 164423679 163235840 80G Microsoft basic data
/dev/sda3 164423680 164623680 200000 100M EFI System
/dev/sda99 900000000 900200000 200000 100M Linux home
Здесь новый макет раздела:
/dev/sda1 2048 1180000 1180000 579M Windows RE
/dev/sda2 1180000 164423679 163235840 80G Microsoft basic data
/dev/sda3 164423680 165023679 600000 300M EFI System
/dev/sda99 900000000 900200000 200000 100M Linux home
монтирование /dev/sad99 /mnt/f99
смонтировать /dev/sda3 /mnt/efi
cp -a /mnt/f99/EFI /mnt/efi
синхронизировать
размонтировать /mnt/f99
размонтировать /mnt/efi
EFI теперь имеет размер 300M и восстанавливается с «исходными» данными для загрузки Windows.
Теперь пришло время перезагрузиться и установить «хорошую» операционную систему по моему выбору Fedora31
Сработало на меня как заклинание. Наслаждаться.