从文件中删除除某些单词之外的所有单词

从文件中删除除某些单词之外的所有单词

我有一个文件,它代表了 Caluses 的 SQL 列表。我想删除除列名、 和 (不区分大小写)之外的and所有or内容where。另外如果还能去掉每行之间的换行where那就完美了。

例如:

[/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'

相关内容