Я пытающийся захватить имена файлов удаления как файл-расширение и суффикс, например:Regex - не извлекать вплоть до матча и не включая этот матч
TEST_EXAMPLE_SUFFIX.file
Output = TEST_EXAMPLE
Я хочу сделать это на основе сопоставления часть _SUFFIX и извлечение всех символов до этого (не включая _SUFFIX). Обычно я хотел бы использовать что-то вроде:
FILE_EXT=_SUFFIX
/.+?(?=$FILE_EXT)/
Однако, когда трубопроводы, которые вместе как часть для петли:
for t in $(ls *.fastq | sed -e /.+?(?=$READ1_EXT)/)
Я получаю ошибку:
command substitution: line 14: syntax error near unexpected token `('
Что я сделал неправильно?
Спасибо! Из интереса, как эта проблема будет решена, если | блок обычно добавлялся к линии цикла, поскольку есть несколько файлов с тем же именем файла, но вы хотите только перебирать уникальные экземпляры? – AnnaSchumann
@AnnaSchumann: Прежде всего, в одном каталоге, как вы уже знаете, вы не можете иметь несколько файлов с тем же именем файла. Вы хотели искать файлы в подкаталогах? – sjsam
Извините за отсутствие ясности. Скажем, все файлы попадают в пары - и отличаются только от суффикса _R1 и _ R2, такого как Test_R1.file и Test_R2.file. Я только хочу захватить часть «Тест» один раз, но в нормальном цикле он будет отображаться дважды.Обычно я использовал Rev, cut и uniq, чтобы захватить «Test» на линии цикла, но это довольно негибко, если суффикс изменится. – AnnaSchumann