У меня есть файл как это.
M00425_ght_cgd2_2212_B_0_2 (newline)
ATGCCGTTAGAGCTAG
M00425_ght_cgd2_2213_B_0_3_1 (newline)
GTACATTGACATAGAGTACATAGCGA
Я хочу файл как это:
M00425_ght_cgd2_2212_B_0_2(tab)ATGCCGTTAGAGCTAG
M00425_ght_cgd2_2213_B_0_3_1(tab)GTACATTGACATAGAGTACATAGCGA
Кто-либо может помочь?
Простой sed
команда:
sed '$!N;s/\n/\t/' inputfile.txt > outputfile.txt
, Что означает, присоединяются к каждой паре строк с Разграничителем табуляции.
Эта команда присоединяется к двум последовательным строкам с эти N
команда. К ним присоединяются с \n
символ между ними. Команда замены заменяет эту новую строку вкладкой, таким образом присоединяясь к каждой паре строк с Разграничителем табуляции.
Также, который похож на этот sed '/$/N;s/\n/\t/' inputfile.txt
команда.
, ЕСЛИ Ваш файл содержит пустые строки, можно сначала удалить все это строки при помощи ниже sed
команда:
sed -i '/^$/d' inputfile.txt
Это подобно ответу Jacob, но достаточно отличается, что я думал, что он гарантировал упоминание. Вместо того, чтобы искать присутствие строки, Вы могли проверить, содержала ли строка символы кроме "GACT".
#!/usr/bin/env python
with open('input.txt','r') as f:
lines = f.readlines()
for i in range(0,len(lines)):
if len(lines[i].strip('GACT\n'))>0:
lines[i] = lines[i].replace('\n','\t')
with open('output.txt','w') as f:
f.writelines(lines)
, Если Ваш файл не отвечает требованиям уникальных идентификаторов в заменяющих строках, можно также сделать различное предположение. Следующее предполагает, что для каждой нечетной строки Вы хотите заменить новую строку вкладкой, и для каждой четной строки Вы не делаете.
#!/usr/bin/env python
with open('input.txt','r') as f:
lines = f.readlines()
for i in range(0,len(lines)):
if i/2==i/2.0:
lines[i] = lines[i].replace('\n','\t')
with open('output.txt','w') as f:
f.writelines(lines)
Вы могли сохранить их, поскольку, например, lines2tabs.py
тогда перешли к каталогу в терминале с помощью cd
и выполняют его с помощью python lines2tabs.py
. Обратите внимание, что необходимо будет измениться input.txt
на название файла.