I have some binaries and some .c extension files in my directory. Here the output using lsarrays.c  basic0  basic0.c  fromfb  fromfb.c  oute  oute.c  segmen.c   simp  simp.cHere i want to filter binary files only , so I usels |grep -v .cThis command list all files, Then using grep I get files, except those file not ending with .cWhat I expect is basic0fromfboutesimpBut What i got fromfboutesimpbasic0 binary file missing. What is the problem with this? 
grep with special expressions
grep;ls;gnome terminal
As per man grepThe period . matches any single character.thus grep .c match any character followed by cYou might be looking for grep -v \.c or better grep -v '\.c$'where\. escape special meaning of .c$ end of line (when piped to ls output one file name par line)as suggested by wildcard, you can also use grep -vF .c The -F flag tells grep to use arg as simple string, not regular expression.