chr1 26150023 26150023 ncRNA_exonic
chr1 26162313 26162313 exonic
chr1 26349533 26349535 exonic
chr1 26357656 26357656 UTR5
chr1 26487940 26487940 exonic
chr1 26150023 26150023 ncRNA_exonic
chr1 26162353 26162313 splicing
chr1 26349533 26349535 exonic;splicing
chr1 26357656 26357656 exonic
chr1 26487940 26487940 UTR3
chr1 26357656 26357656 intronic
chr1 26487940 26487940 intergenic
У меня очень большой CSV-файл. Он включает в себя десятки столбцов и тысячи строк. Я хочу удалить строки, если 4-й столбец этих строк содержит какую-либо строку, кроме экзонического, экзонического, сплайсинга, сплайсинга.
После удаления мой файл будет выглядеть так:
chr1 26162313 26162313 exonic
chr1 26349533 26349535 exonic
chr1 26487940 26487940 exonic
chr1 26162353 26162313 splicing
chr1 26349533 26349535 exonic;splicing
chr1 26357656 26357656 exonic
Я пробовал с помощью sed, но он удаляет ненужные строки. Например, если у меня есть UTR3 в 10-м столбце, он также удалит эту строку, и я этого не хочу.
Я использовал эту команду:
sed -e '/upstream/d' -e '/downstream/d' -e '/intronic/d' -e '/intergenic/d' -e '/ncRNA_exonic/d' -e '/ncRNA_intronic/d' -e '/ncRNA_splicing/d' -e '/ncRNA_UTR5/d' -e '/UTR3/d' -e '/UTR5/d' input.csv > output.csv
Могу ли я получить эту работу?
Заранее спасибо