특정 단어를 제외한 모든 단어를 파일에서 제거

특정 단어를 제외한 모든 단어를 파일에서 제거

Caluses의 SQL 목록을 나타내는 파일이 있습니다. 열 이름 및 (대소문자를 구분하지 않음 ) 을 제외한 and모든 항목을 제거하고 싶습니다 . 또한, 각 줄 사이의 줄 바꿈도 제거할 수 있다면 완벽할 것입니다 .orwherewhere

예를 들어:

[/home]$ cat file.txt
wheRe (a='asd') ANd t.b='esd'
WHERE B = 'xcz' or c in ('asd , 'asd')
WHEre C='zxc'
 and t.a    = 'asd'

#running the commadn will generate:
[/home]$ remove_evreything_except "a b c and or where"
where a and b
where b or c
where c and a

고쳐 쓰다

더러운 버전; grep -o -i -E "where|and|or|\(|\)|[ |\.|(|\"][a|b|c][\"| |=]" file.txt | tr '[:lower:]' '[:upper:]'| sed 's/ //g' | tr '\n' ' ' |sed 's/[\.||=|\"]//g' | sed 's/WHERE/\nWHERE/g' | sed 's/( /(/g' | sed 's/ )/)/g' | sed 's/()//g'

관련 정보