2012-10-25 4 views
1

다음 문자열에서 COMMENT 단어부터 시작하는 단어를 모두 제거하려면 어떻게합니까?특정 단어로 시작한 후 모든 단어 제거

echo "first_mail_sent_date_time datetime NOT NULL COMMENT 'The date and time'," | sed 's/ COMMENT \w*/ /g' 

위의 sed 명령은 COMMENT 단어 만 제거합니다. COMMENT 뒤에 모든 것을 제거해야하지만 마지막 쉼표는 그대로 두어야합니다.

awk를 사용할 수는 있지만 일관성을 위해 sed 솔루션을 찾고 있습니다.

awk -F'COMMENT' '{print $1 ","}' 

답변

1

사용이 나오지 명령을

sed "s/ COMMENT.*'[^']*'/ /" 

TEST :

str="first_mail_sent_date_time datetime NOT NULL COMMENT 'The date and time'FOO," 
echo $str | sed "s/ COMMENT.*'[^']*'/ /" 

출력 :

first_mail_sent_date_time datetime NOT NULL FOO, 
2

이것은 당신을 위해 (GNU sed)

sed 's/ COMMENT.*,/,/' file 
관련 문제