![sed를 사용하여 문자열에서 문자 제거](https://linux55.com/image/61408/sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%97%90%EC%84%9C%20%EB%AC%B8%EC%9E%90%20%EC%A0%9C%EA%B1%B0.png)
나는 이 헤더를 가지고 있습니다 :
>tr|G3Q381|G3Q381_GASAC Uncharacterized protein OS=Gasterosteus aculeatus PE=4 SV=1
다행히도 저는 이를 실현하는 데 도움을 받았습니다.
>G3Q381_GASAC
하지만 이제 다음과 같이 이전 형식에서 마지막 두 글자를 제거해야 합니다.
>G3Q381_GAS
원래의 긴 헤더(가운데 잘린 헤더가 아님)에서 가져올 수 있습니까?
답변1
허용되는지는 모르겠지만 두 번째 파이프 앞의 모든 항목을 제거 |
하고 첫 번째 공백 뒤의 모든 항목에서 2자를 뺀 모든 항목을 제거할 수 있습니다.
sed -e 's/^[^|]*|/>/' -e 's/^[^|]*|/>/' -e 's/.. .*$//'