Сценарий bash для замены шаблонов в именах нескольких файлов на основе файла сопоставления с двумя столбцами. ⇐ Linux
-
Гость
Сценарий bash для замены шаблонов в именах нескольких файлов на основе файла сопоставления с двумя столбцами.
У меня есть несколько файлов со смешанными идентификаторами в каталоге (окружение Linux) и они выглядят так:
SRR7821874_1.fastq.gz SRR7821874_2.fastq.gz SRR7821870_1.fastq.gz SRR7821870_2.fastq.gz У меня также есть файл с двумя столбцами, разделенными табуляцией (называемый rename.tsv), на основе которого я пытаюсь заменить идентификаторы:
Читать образец СРР7821874 GSM3385663 СРР7821870 GSM3385659 Кроме того, я хотел бы одновременно изменить _1 на _S1_L001_R1_001 и *_2 * на _S1_L001_R2_001 в именах файлов, чтобы конечный результат был выглядеть так:
SRR7821874_1.fastq.gz --> GSM3385663_S1_L001_R1_001.fastq.gz SRR7821874_2.fastq.gz --> GSM3385663_S1_L001_R2_001.fastq.gz SRR7821870_1.fastq.gz --> GSM3385659_S1_L001_R1_001.fastq.gz SRR7821870_2.fastq.gz --> GSM3385659_S1_L001_R2_001.fastq.gz Я попробовал следующий скрипт, но безуспешно, так как для его переименования требуются полные имена файлов (только для замены идентификатора):
при чтении -r Читать образец; do mv "$Read" "$Sample"; готово
У меня есть несколько файлов со смешанными идентификаторами в каталоге (окружение Linux) и они выглядят так:
SRR7821874_1.fastq.gz SRR7821874_2.fastq.gz SRR7821870_1.fastq.gz SRR7821870_2.fastq.gz У меня также есть файл с двумя столбцами, разделенными табуляцией (называемый rename.tsv), на основе которого я пытаюсь заменить идентификаторы:
Читать образец СРР7821874 GSM3385663 СРР7821870 GSM3385659 Кроме того, я хотел бы одновременно изменить _1 на _S1_L001_R1_001 и *_2 * на _S1_L001_R2_001 в именах файлов, чтобы конечный результат был выглядеть так:
SRR7821874_1.fastq.gz --> GSM3385663_S1_L001_R1_001.fastq.gz SRR7821874_2.fastq.gz --> GSM3385663_S1_L001_R2_001.fastq.gz SRR7821870_1.fastq.gz --> GSM3385659_S1_L001_R1_001.fastq.gz SRR7821870_2.fastq.gz --> GSM3385659_S1_L001_R2_001.fastq.gz Я попробовал следующий скрипт, но безуспешно, так как для его переименования требуются полные имена файлов (только для замены идентификатора):
при чтении -r Читать образец; do mv "$Read" "$Sample"; готово
Мобильная версия