수백만 개의 제목이 있는 단락(일명 단락)이 포함된 거대한(~20G) 텍스트 파일이 있습니다. 제목과 단락은 항상 각각 한 줄을 차지합니다. 예를 들어,
햇빛
화창한 날입니다.
어둠
동굴은 어두운 곳이다.
내가 생각해내려고 하는 것은 텍스트를 반복하고 각 제목 앞에 ">"를 추가하는 터미널 명령입니다.홀수 행(라인 1, 3, 5...) 예를 들어,
>Sunshine
화창한 날이었습니다.
>어둠
동굴은 어두운 곳이다.
어떤 아이디어가 있나요?
해당되는 경우: 위의 텍스트는 단지 예일 뿐입니다. 대부분의 헤더는 MD5 다음에 DNA 서열("단락")이 옵니다.
0002ebd9ca12d6b69dfc3066356fc299
CATTAACCATTGGATAACCTTCGGGTATCCCATCCGTGTCTACATACTCTTGTTGCTTTGGCAGGCCGTGGTCACACACTGTGGGCTATGCCTGCATGTGCCTGCCAGAGGACCA
...로 변환하려고 합니다.
>0002ebd9ca12d6b69dfc3066356fc299
CATTAACCATTGGATAACCTTCGGGTATCCCATCCGTGTCTACATACTCTTGTTGCTTTTGGCAGGCCGTGGTCACACACTGTGGGCTATGCCTGCATGTGCCTGCCAGAGGACCA
답변1
GNU를 사용하여 첫 번째 줄부터 시작하여 한 줄씩(또는 한 줄씩) 편집하려면 sed
다음을 수행하세요.
sed '1~2초/^/>/'당신의 파일
그러면 수정된 파일이 표준 출력에 기록됩니다. 즉, 입력하면오직위에서 수정된 파일이 화면에 표시됩니다. 새 파일에 넣으시면 됩니다출력 리디렉션예 를 들어 >
,
sed '1~2초/^/>/'당신의 파일 > 새 문서
또는 기존 파일을 수정하려면 다음을 사용하십시오 -i
.
sed-나'1~2초/^/>/'당신의 파일
답변2
POSIX적으로:
sed 's/^/>/;n' < file.in > file.out
답변3
또 다른 POSIX 답변:
paste -d'>\n' /dev/null - - <infile
얻다:
>Sunshine
This is a sunny day.
>Darkness
A cave is a dark place.
답변4
awk
이런 식으로 시도해 볼 수 있습니다 .
awk 'NR % 4 == 1 {sub(/^/,">")} {print}' filename
인용하다
https://stackoverflow.com/questions/2099471/add-a-prefix-string-to-beginning-of-each-line