$ cat cmpg|awk '/[^\w\s({)}\r\n\[\]],/'
matches only lines containing at least one comma.
As for why the negated character class matches 2 (which puzzled me because \w contains all ASCII digits, so [^\w...] should not match 2 ): awk uses the main POSIX regular expressions that I don't know stacks \w (or \s ). Instead, you will need to use [:alnum:] or [:space:] .
In general, this regular expression is strange with any regular expression. What are you trying to achieve with him?
source share