2013-12-07 2 views
0

У меня есть файл в следующем формате:Добавить заголовок в строку, используя AWK

AACCCGTAGATCCGAACTTGTG 
ACCCGTAGATCCGAACTTGTG 
CCGTAGATCCGAACTTGTG 
CGTAGATCCGAACTTGT 

Я хочу дать заголовок каждой строки, используя AWK, где заголовок равно в следующей строке, как это:

>AACCCGTAGATCCGAACTTGTG 
AACCCGTAGATCCGAACTTGTG 
>ACCCGTAGATCCGAACTTGTG 
ACCCGTAGATCCGAACTTGTG 
>CCGTAGATCCGAACTTGTG 
CCGTAGATCCGAACTTGTG 
>CGTAGATCCGAACTTGT 
CGTAGATCCGAACTTGT 

ответ

2

Флаг -v позволяет вам установить переменную. Затем для каждой строки в файле напечатайте эту переменную, за которой следует строка, а затем сама строка.

awk -v c=">" '{ print c $0; print $0; }' <file> 
2

Просто:

$ awk '{print ">"$0;print}' file 
>AACCCGTAGATCCGAACTTGTG 
AACCCGTAGATCCGAACTTGTG 
>ACCCGTAGATCCGAACTTGTG 
ACCCGTAGATCCGAACTTGTG 
>CCGTAGATCCGAACTTGTG 
CCGTAGATCCGAACTTGTG 
>CGTAGATCCGAACTTGT 
CGTAGATCCGAACTTGT 

Или:

$ awk '{printf ">%s\n%s\n",$0,$0}' file 
>AACCCGTAGATCCGAACTTGTG 
AACCCGTAGATCCGAACTTGTG 
>ACCCGTAGATCCGAACTTGTG 
ACCCGTAGATCCGAACTTGTG 
>CCGTAGATCCGAACTTGTG 
CCGTAGATCCGAACTTGTG 
>CGTAGATCCGAACTTGT 
CGTAGATCCGAACTTGT 
+0

Ах, спасибо от меня, потому по какой-то причине у меня были проблемы с тем больше, чем знак. – chooban

+0

@chooban еще одна вещь, которую нужно запомнить, - это вход, который потенциально может иметь пробелы в * (хотя пример не подходит) *, поэтому, вероятно, более безопасно использовать '$ 0' вместо' $ 1'. –

+0

Из-за одного и лисица символом! Мне нужно больше кофе! :) – chooban

Смежные вопросы