Linux Commands#File, Directory
-i, --ignore-case Ignore case distinctions in both the PATTERN and the input files. -E, --extended-regexp Interpret PATTERN as an extended regular expression (see below). -v, --invert-match Invert the sense of matching, to select non-matching lines. -A NUM, --after-context=NUM Print NUM lines of trailing context after matching lines. Places a line containing -- between contiguous groups of matches. -B NUM, --before-context=NUM Print NUM lines of leading context before matching lines. Places a line containing -- between contiguous groups of matches. -R, -r, --recursive Read all files under each directory, recursively; this is equivalent to the -d recurse option. -H, --with-filename print file name with output lines
# grep -Ev "^#|^$" /etc/ssh/sshd_config Protocol 2 SyslogFacility AUTHPRIV PasswordAuthentication yes ChallengeResponseAuthentication no GSSAPIAuthentication yes GSSAPICleanupCredentials yes UsePAM yes AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE AcceptEnv XMODIFIERS X11Forwarding yes Subsystem sftp /usr/libexec/openssh/sftp-server #
# grep -Ev "^*#|^$" /etc/httpd/conf/httpd.conf # grep -Ev "^$|^#|^\s*#" /etc/httpd/conf/httpd.conf # grep -Ev '^[ ^t]*#|^$' /etc/httpd/conf/httpd.conf
you should use head -n 10 ifcfg* |more
insted of grep . ifcfg-*
or grep "" ifcfg-*
.
-H, --with-filename print file name with output lines
# grep . ifcfg-* ifcfg-eth0:TYPE="Ethernet" ifcfg-eth0:BOOTPROTO="dhcp" ifcfg-eth0:DEFROUTE="yes" ifcfg-eth0:PEERDNS="yes" ifcfg-eth0:PEERROUTES="yes" ifcfg-eth0:IPV4_FAILURE_FATAL="no" ifcfg-eth0:IPV6INIT="yes" ifcfg-eth0:IPV6_AUTOCONF="yes" ifcfg-eth0:IPV6_DEFROUTE="yes" ifcfg-eth0:IPV6_PEERDNS="yes" ifcfg-eth0:IPV6_PEERROUTES="yes" ifcfg-eth0:IPV6_FAILURE_FATAL="no" ifcfg-eth0:NAME="eth0" ifcfg-eth0:DEVICE="eth0" ifcfg-eth0:ONBOOT="yes" ifcfg-lo:DEVICE=lo ifcfg-lo:IPADDR=127.0.0.1 ifcfg-lo:NETMASK=255.0.0.0 ifcfg-lo:NETWORK=127.0.0.0 (abbr)
# grep "" ifcfg-* ifcfg-bond0:DEVICE=bond0 ifcfg-bond0:BOOTPROTO=static ifcfg-bond0:ONBOOT=yes ifcfg-bond0:IPADDR=172.16.xx.xx ifcfg-bond0:NETMASK=255.255.255.0 ifcfg-bond0:BONDING_OPTS="mode=1 miimon=100 updelay=500" ifcfg-bond1:DEVICE=bond1 ifcfg-bond1:BOOTPROTO=static ifcfg-bond1:ONBOOT=yes ifcfg-bond1:IPADDR=10.50.x.xx ifcfg-bond1:NETMASK=255.255.255.0 ifcfg-bond1:BONDING_OPTS="mode=1 miimon=100 updelay=500" ifcfg-eth0:DEVICE=eth0 ifcfg-eth0:BOOTPROTO=none ifcfg-eth0:ONBOOT=yes ifcfg-eth0:TYPE=Ethernet ifcfg-eth0:MASTER=bond0 ifcfg-eth0:SLAVE=yes ifcfg-eth0:USERCTL=no ifcfg-eth1:DEVICE=eth1 ifcfg-eth1:BOOTPROTO=none ifcfg-eth1:ONBOOT=yes (abbr)
grep -r PATTERN DIRECTORY grep -r PATTERN --include="*.txt" DIRECTORY
grep -r final dir grep -r -i http_proxy /etc 2> /dev/null grep -r hogehoge /var/www/html grep -r hogehoge --include="*.html" /var/www/htm find . -name '*.java' | xargs grep 'final'
$ cat test.txt 1 2 3 aaa 4 5 6 $ $ grep -2 aaa test.txt 1 2 3 aaa 4 5 $ $ grep -A 2 aaa test.txt 3 aaa 4 5 $ $ grep -B 2 aaa test.txt 1 2 3 aaa $