need to explain bash grep regular expression grep -E '(^|[^0-9.])'2 *.c -
    i'm  confused grep command. explain me.   for each digit i, search (nondigit)i sequence in textd.sh)   grep -e '(^|[^0-9.])'i *.c  in 0 1 2 3 4 5 6 7 8 9;    grep -e '(^|[^0-9.])'$i *.c > lines_with_${i} done          this grep  command:   grep -e '(^|[^0-9.])'$i *.c   is matching digits 0, 1, 2, 3,.... in loop.   while matching these digits makes sure digits either @ start ( ^ ) or else there non-digit non-dot character before these digits ( [^0-9.] ).   so example match:   abc 1 2 def5   and won't match:   abc.1