![grep을 사용하여 () 앞의 문자를 추출합니다.](https://linux55.com/image/52454/grep%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20()%20%EC%95%9E%EC%9D%98%20%EB%AC%B8%EC%9E%90%EB%A5%BC%20%EC%B6%94%EC%B6%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
문자 "(" 앞에 있는 문자를 추출해야 합니다. 내 파일 구조는 다음과 같습니다.
로즈 (좋아요) 알았어
데이지() 아니요
릴리(나쁨)는 좋다
해바라기()가 좋다
다음 형식의 출력 파일이 필요합니다.
rose
daisy
lilly
sunflower
이 명령 좀 알려주실 분 계시나요...
awk, grep 또는 sed가 더 나은 선택입니다...
답변1
또 다른 sed
해결책:
sed 's/(.*//' file
답변2
사용 cut
:
$ <file cut -d \( -f 1
rose
daisy
lilly
sunflower
사용 sed
:
$ <file sed -e 's/\(.*\)(.*$/\1/'
rose
daisy
lilly
sunflower
답변3
해결책 awk
:
$ awk -F'(' '{print $1}' file
rose
daisy
lilly
sunflower
또는 GNU grep
:
grep -oP '.*?(?=\()' file
답변4
잘라내기 명령을 사용할 수 있습니다.
cut -f1 -d "(" file_name