2
bash
を使用して、特定のパターンに一致するディレクトリ内のすべてのファイルを.txt
に名前変更しようとしています。以下の2つの試みは、ディレクトリからファイルを削除し、エラーを投げた。ありがとう:)ディレクトリ内の特定の種類のすべてのファイルの名前を変更します。
入力
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
バッシュの試み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
バッシュの試み2を
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