Я пытаюсь использовать bash
, чтобы переименовать все файлы .txt
в каталог, соответствующий определенному шаблону. Мои две попытки ниже удалили файлы из каталога и выбросили ошибку. Спасибо :)переименовать все файлы определенного типа в каталоге
вход
16-0000_File-A_variant_strandbias_readcount.vcf.hg19_multianno_dbremoved_removed_final_index_inheritence_import.txt
16-0002_File-B_variant_strandbias_readcount.vcf.hg19_multianno_dbremoved_removed_final_index_inheritence_import.txt
желаемого выходного
16-0000_File-A_multianno.txt
16-0002_File-B_multianno.txt
Bash попытка 1 this removes the files from the directory
for f in /home/cmccabe/Desktop/test/vcf/overall/annovar/*_classify.txt ; do
# Grab file prefix.
p=${f%%_*_}
bname=`basename $f`
pref=${bname%%.txt}
mv "$f" ${p}_multianno.txt
done
Bash попытка 2 Substitution replacement not terminated at (eval 1) line 1.
for f in /home/cmccabe/Desktop/test/vcf/overall/annovar/*_classify.txt ; do
# Grab file prefix.
p=${f%%_*_}
bname=`basename $f`
pref=${bname%%.txt}
rename -n 's/^$f/' *${p}_multianno.txt
done
Большое спасибо за большую помощь и объяснение, я ценю их :) – Chris