我有一个文件,它代表了 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'