모든 행에서 첫 번째 ;
이후의 모든 것을 제거해야하는 파일이 있습니다.
따라서 다음과 같은 파일 :
sdfsdsdf;
fsdfsddf;sdfsd;
결과는 다음과 같습니다.
sdfsdsdf
fsdfsddf
grep
및 sed
을 조사했습니다. 이 명령 중 하나를 포함하는 답변을 주시면 감사하겠습니다.
sed
은이 상황에서 awk 또는 Perl보다 가장 쉽고 빠릅니다.
sed 's/^\([^;][^;]*\);.*$/\1/' some_file_name
또 다른 옵션은 cut
명령을 사용하는 것입니다.
cat a.file | cut -d';' -f1
저는 일반적으로 다음과 같은 경우 awk
을 사용합니다.
cat a.file | awk -F=";" '{ print $1 }'
파일의 각 줄을 가져와 구분 기호 -F
앞에 첫 번째 그룹을 인쇄합니다.
다음은 GNU grep
를 사용하여 수행하는 방법입니다.
grep -Po "^[^;]+(?=;?)" filename