헤더 및 인쇄 수정

헤더 및 인쇄 수정

내 제목은 ">"로 시작하며 첫 번째 단어를 유지하고 output.txt에 표시된 다른 단어를 제거하여 제목을 수정하고 인쇄하고 싶습니다.

입력.txt

>AGAJ01065549.1 scaffold:Xipmac4.4.2:AGAJ01065549.1:1:500:1 REF
CGCCAGGTGTCTGGCGTAATAGCGCCAGCGCCAGGTGTCATATACGTAATAGCGCCAGGT
>RGAMMT01065456.1 scaffold:Xipmac4.4.2:AGAJ01065595.1:1:500:1 REF
GACTAGTTTTTACATATAGTAATGGTTATTCGGAAGTGTACAGACGTTTTCAGGTTTTTT
TTTGGTAGGGGTTGAGGTGTTGAGGTGAGGGGACTATGTGGAGGGAACTTTCCATAGAGG

출력.txt

>AGAJ01065549.1 
CGCCAGGTGTCTGGCGTAATAGCGCCAGCGCCAGGTGTCATATACGTAATAGCGCCAGGT
>RGAMMT01065456.1 
GACTAGTTTTTACATATAGTAATGGTTATTCGGAAGTGTACAGACGTTTTCAGGTTTTTT
TTTGGTAGGGGTTGAGGTGTTGAGGTGAGGGGACTATGTGGAGGGAACTTTCCATAGAGG

답변1

이것은 당신에게 도움이 될 수 있습니다 (GNU sed):

sed -i '/^>/s/\s.*//' file

답변2

awk를 통해 텍스트를 파이핑하면 됩니다.

awk '{print $1}' input.txt

그러면 각 줄의 첫 번째 항목(공백으로 구분된 항목)이 인쇄됩니다.

답변3

비슷하다다음을 사용하여 대답awkcut:

cut -d' ' -f 1 input.txt > output.txt

-d옵션은 구분 기호를 공백으로 설정하고 -f첫 번째 필드를 선택합니다.

그러나 다음을 사용할 수도 있습니다 sed.

sed 's,^\([^ ]\+\) .*,\1,' input.txt > output.txt

이 명령은 표현식을 대체합니다. 줄의 시작 부분을 찾아 각 문자를 비어 있지 않은 버퍼에 복사합니다. 또한 공백 및 기타 문자와도 일치합니다. sed이 줄을 버퍼 내용으로 바꾸세요.

관련 정보