как печатать, если строка содержит определенный шаблон и не печатать, если она не содержит шаблон

">16RI1_0 M01230:42:000000000-AWMRD:1:1101:15012:1778 1:N:0:0 TATCCGGATTTACTGGGTGTAAAGGGAGCGTAGGCGGCCATGCAAGTCAGAAGTGAAAAC ">16RA2_1 M01230:42:000000000-AWMRD:1:1101:15923:1780 1:N:0:0 TTGTCCGGATTTATTGGGCGTAAAGCGAGCGCAGGCGGTTTCTTAAGTCTGATGTGAAAGC ">0VC3_7 M01230:42:000000000-AWMRD:1:1101:15805:1805 1:N:0:0 TCATGAAGAACTCCGATCGCGAAGGCAAGTGTCCGGGGTGCAACTGACGCTGAGGCTCGAA ">11VI2_15 M01230:42:000000000-AWMRD:1:1101:17657:1817 1:N:0:0 GCGGCTTACTGGACTGTAACTGACGTTGAGGCTCGAAAGCGTGGGGAGCAAACAGGGCTC 

Здравствуйте, у меня есть файл, содержащий такую ​​информацию. Я хочу напечатать все строки, начинающиеся с знака «>» и следующей строки, но есть условие, что строка, начинающаяся с знака «>», должна содержать букву V. Пожалуйста, помогите мне.

3 Solutions collect form web for “как печатать, если строка содержит определенный шаблон и не печатать, если она не содержит шаблон”

С GNU sed (стандарт в системе Linux) вы можете получить строку заголовка (содержащую V любом месте на нем) и первую строку последовательности из файла fasta следующим образом:

 sed -n '/^>.*V/,+1p' sequence.fa 

Это предполагает, что файл fasta правильно отформатирован.

Параметр -n отключает вывод по умолчанию и /^>.*V/,+1p будет печатать любую строку заголовка с V в нем вместе с непосредственно следующей строкой.

Я хочу напечатать все строки, начинающиеся с знака «>» и следующей строки, но есть условие, что строка, начинающаяся с знака «>», должна содержать букву V.

Кажется, что этот grep работает:

 grep -A 1 '^">.*V' 

Пример:

 grep -A 1 '^">.*V' file ">0VC3_7 M01230:42:000000000-AWMRD:1:1101:15805:1805 1:N:0:0 TCATGAAGAACTCCGATCGCGAAGGCAAGTGTCCGGGGTGCAACTGACGCTGAGGCTCGAA ">11VI2_15 M01230:42:000000000-AWMRD:1:1101:17657:1817 1:N:0:0 GCGGCTTACTGGACTGTAACTGACGTTGAGGCTCGAAAGCGTGGGGAGCAAACAGGGCTC 

Ты сказал:

Я хочу напечатать все строки, начинающиеся с знака «>» и следующей строки, но есть условие, что строка, начинающаяся с знака «>», должна содержать букву V

Это хорошая работа для awk:

 $ awk '/^">.*V/{print $0;getline line; print line}' input.txt ">0VC3_7 M01230:42:000000000-AWMRD:1:1101:15805:1805 1:N:0:0 TCATGAAGAACTCCGATCGCGAAGGCAAGTGTCCGGGGTGCAACTGACGCTGAGGCTCGAA ">11VI2_15 M01230:42:000000000-AWMRD:1:1101:17657:1817 1:N:0:0 GCGGCTTACTGGACTGTAACTGACGTTGAGGCTCGAAAGCGTGGGGAGCAAACAGGGCTC 
  • Как вставить строки из одного файла в другой файл с помощью команд оболочки?
  • Заменить несколько строк в текстовом файле фиксированным шаблоном
  • Системные вызовы, AWK и ввод внешних входов
  • Есть ли способ получить эффект объединения grep -v с grep -A?
  • Скрипт, сравнивающий два файла, соответствует двум строкам в любой точке
  • получить все строки, имеющие значение столбца, большее порога
  • найти определенную строку и удалить всю структуру
  • Как добавить число в один столбец на основе чисел в других столбцах
  • Как слить текст буквенных строк с числовыми строками в оболочке?
  • Удалите все строки под определенным номером строки из одного столбца
  • Команда, которая отбрасывает строки исходного файла C
  • Множественное сопоставление столбцов и настройка с помощью awk
  • Interesting Posts

    Графика CUDA + HD4600 на ноутбуке Optimus

    Нужна помощь в обработке текстового файла с awk для соответствия формату файлов CSV

    Диаграмма ядра Linux против производительности?

    Эволюция операционных систем Unix

    В команде `sudo find`, как я могу убедиться, что команда` -exec` запускается как обычный пользователь?

    Не удается получить доступ к каталогу с разрешениями drw-rw-r-

    Виртуальная платформа Google: удалите правило брандмауэра, разрешающее трафик для всех экземпляров

    Как применить исправление уязвимости bash для CVE-2014-6271 на cygwin?

    Какова цель файла / proc / pid / mountinfo?

    Как найти мой xorg.conf. Где это?

    Как получить простые скрипты, которые, как представляется, нуждаются в корневых привилегиях для запуска через пользователя www-data?

    Совместимость следующих программных продуктов

    httpd и mysqld используют память

    Запустить оболочку текстового терминала из Linux DM?

    правильная настройка visudo NOPASSWD для сценария резервного копирования bash

    Linux и Unix - лучшая ОС в мире.