다음 형식의 큰 목록이 있습니다.
info1 info2 info3 info4
각 행에는 다음과 같은 4개의 필드가 있습니다. 정규식을 사용하여 각 줄의 첫 번째 단어를 제외한 모든 단어를 제거하는 방법은 무엇입니까?
답변1
단어가 공백으로 구분되어 있다고 가정하면 공백으로 구분된 첫 번째 단어만 추출하기 위해 정규식을 사용할 필요가 없습니다. 대신 cut
공백을 구분 기호로 사용하세요.
cut -d ' ' -f 1 file
awk
기본적으로 연속 공백이나 탭을 필드 구분 기호로 사용하는 를 사용하여 각 줄의 첫 번째 필드만 인쇄할 수도 있습니다 . 이는 정규식을 사용할 필요가 없는 또 다른 경우입니다.
awk '{ print $1 }' file
-F ' '
단일 공백만 구분 기호로 사용하려면 위와 함께 사용하세요.
만약 당신이 정말로필요정규 표현식(예: 일부 교사를 행복하게 만들기 위해)을 사용한 다음 교체 명령을 사용합니다 sed
.
sed 's/ .*//' file
이 명령은 첫 번째 공백 문자부터 각 줄 끝까지의 모든 항목을 제거(대체하지 않음)합니다.