#bash #file
#баш #файл
Вопрос:
Просто хочу выбрать подмножество файлов:
(1) DEC2017_L3S1D20.txt
(2) FP.DEC2017_L1S1D05_2_fastqc.txt
Итак, я хочу выбрать (1) файлы для последующего анализа, но исключая (2) файлы, единственный известный мне способ «выбрать» шаблон файлов *.txt
— это использовать, но таким образом я выбираю их все.
редактировать: я не хочу, чтобы «fastqc.txt » выбирать нужно только те, которые заканчиваются на «L3S1D20.txt »
Комментарии:
1. Какова логика или ключевое слово для исключения 2-го?
2. Я не хочу, чтобы «fastq.txt » файлы, которые нужно выбрать
3.
???????????????.txt
4. Это должно сделать свою работу:
*L3S1D20.txt
Ответ №1:
Если ваша bash
версия 4.0 или выше, пожалуйста, попробуйте что-то вроде:
shopt -s extglob
for f in !(*fastqc).txt; do
echo "$f"
done
Если функция extglob
включена с shopt
помощью встроенного, вы можете использовать:
!(список шаблонов)
Соответствует чему угодно, кроме одного из заданных шаблонов
Ответ №2:
Использование grep:
ls | grep -v "fastqc.txt" | grep "L3S1D20.txt$"