50,000줄의 탭으로 구분된 텍스트 파일이 있습니다. 첫 번째 열을 분할하여 출력.txt에 표시된 대로 인쇄하고 싶습니다.
입력.txt
rt|371443144|mb|MN556661.1| 2200443 A
rt|371443344|mb|MN556645.1| 2594155 A
rt|371467899|mb|MN555666.1| 2594175 A
출력.txt
MN556661.1 2200443 A
MN556645.1 2594155 A
MN555666.1 2594175 A
답변1
또 다른 옵션 cut
은 다음과 같습니다.
cut input.txt -d'|' -f4-5 --output-delimiter='' >> output.txt
그런데, 귀하의 질문에서 탭으로 구분되어 있다고 언급하셨는데 |
여기에는 구분 기호로 넣었습니다.
답변2
cat input.txt | awk -F\| '{print $4 $5 $6}' >> output.txt
답변3
GNU sed를 사용하여 이 작업을 수행할 수 있습니다.
sed -r 's/([^|]+\|){3}//; s/\|//'
즉, 앞에 파이프가 있는 세 그룹을 삭제하고, 두 번째 교체 명령은 네 번째 필드 뒤의 파이프를 삭제합니다.