grep - 구분 기호 뒤의 텍스트를 제거합니다.

grep - 구분 기호 뒤의 텍스트를 제거합니다.

;각 줄의 첫 번째 줄 이후의 모든 항목을 제거해야 하는 파일이 있습니다 .

따라서 다음과 같은 파일이 있습니다.

sdfsdsdf;
fsdfsddf;sdfsd;

다음과 같은 결과가 발생합니다.

sdfsdsdf
fsdfsddf

grep나는 및 를 조사했습니다 sed. 나는 이러한 명령 중 하나가 포함된 답변을 원합니다.

답변1

cut또 다른 옵션은 명령을 사용하는 것입니다

cat a.file | cut -d';' -f1

답변2

sed이 경우 아마도 awk나 Perl보다 쉽고 빠릅니다.

sed 's/^\([^;][^;]*\);.*$/\1/' some_file_name

답변3

내가 일반적으로 사용하는 것은 awk다음과 같습니다.

cat a.file | awk -F=";" '{ print $1 }'

그러면 파일의 각 줄을 가져오고 구분 기호 앞의 첫 번째 그룹이 인쇄됩니다.-F

답변4

GNU를 사용하여 이를 수행하는 한 가지 방법은 다음과 같습니다 grep.

grep -Po "^[^;]+(?=;?)" filename

관련 정보