В дополнение к решениям выше, вы всегда можете использовать трубы со смолой:
pbzip2 -dc FILE.tar.bz2 | tar -tvfW -
Прежде всего, вы определенно не хотите открывать файл в редакторе (он слишком велик для редактирования таким образом ).
Вместо этого, если вы просто хотите определить , содержит ли файл что-либо кроме A
, T
, C
и G
, вы можете сделать это с помощью
grep '[^ATCG]' filename
Это вернет все строки, содержащие что-либо кроме этих четырех символов.
Если вы хотите удалить эти символы из файла, вы можете сделать это с помощью
tr -c -d 'ATCG\n' <filename >newfilename
(правильный ли это способ "исправить" файл или нет, я не знаю)
Это удалит все символы в файле, которые не являются одним из четырех, а также сохранит новые строки(\n
). Отредактированный файл будет записан в newfilename
.
Если это систематическая ошибка, из-за которой что-то было добавлено в файл, возможно, это можно исправить с помощью sed
или awk
, но мы пока не знаем, как выглядят ваши данные.
Если файл открыт в vi
или vim
, то команда
/[^ATCG]
найдет следующий символ в буфере редактирования, который не является A
, T
, C
или G
.
И :%s/[^ATCG]//g
удалит их всех.
Я сосредоточился на названии
Find any line in VI that has something other than ATCG
И я протестировал это в редакторе VI, так называемый "режим последней строки".
:%!tr -c -d 'ATCG\n
:
переходит в режим строки команды -, %
сопоставляет весь файл как диапазон, !
фильтрует этот диапазон с помощью внешней команды tr -c -d 'ATCG\n
, которая оказывается такой же, как написал @Kusalananda :).