подмножество файла для правильных хромосом

Если вы хотите добавить одну и ту же текстовую строку в конце строки для сценарии (символы для поиска: 'X' 'Y'), то вы можете сделать это следующим образом:

sed -e 's/[XY].*/&__ADDEDTEXT__/' yourfile

С другой стороны, если вы хотите, чтобы отдельные тексты помещались в конце строк в зависимости от символа, вы можете сделать :

sed -e '
   /X/s/$/__TEXT1__/; t
   /Y/s/$/__TEXT2__/
' yourfile

Где мы используем команду t (читается как тест), чтобы определить, была ли предыдущая команда s/// успешной, и перейти к концу кода sed на настоящая линия. Также обратите внимание на синтаксис: /regex/s/// => если строка содержит регулярное выражение, выполните замену в строке.

0
29.09.2017, 03:38
2 ответа

попробуй

awk '$1 !~ /_/' input_file.txt > output.txt

будут выбраны все строки, в которых$1(первый столбец )не содержит_

или, согласно предложению Гленна Джекмана

awk '! index($1,"_") ' input_file.txt > output.txt

другой способ может быть

sed -i -e '/^chr[0-9]*_/d' file.txt

это удалит ту же строку. (при условии, что строка начинается точно сchr)

4
28.01.2020, 02:13
sed '/_/d' file

удалит все строки, в которых присутствует подчеркивание в любом месте строки .

Если вам нужно сохранить результаты обратно в файл, используйтеsed -i...


Чтобы ограничиться первым столбцом:

sed '/^[[:blank:]]*[^[:blank:]]\+_/d' file

То есть :в начале строки, возможно начальные пробелы,за которыми следуют символы пробела, отличные от -, и символ подчеркивания.

2
28.01.2020, 02:13

Теги

Похожие вопросы