天天看點

linux正規表達式BRE

是一套處理字元串的櫃子和方法,以行為機關對字元串進行處理

通過特殊的符号的輔助,可以快速過濾 替換某些特定的字元串

awk  sed  grep 

^word           已word開頭

wrod$           已word 結尾

# grep "^I"   hequan            # grep  -i  "^i"   hequan    不區分大小寫

# grep  -i  ".$"   hequan

.    代表隻能代表任意一個字元

# grep "li.e"    hequan

\  轉移符号,取消原來字元的特殊意義、

# grep -n "\." hequan

*|     重複0個  或多個前面的一個字元。

# grep "490*448"  hequan

49000000000000048,49448

# grep "49.*448"  hequan                        # grep ".*"  hequan   所有              # grep "^.*"  hequan

[].    字元集合的重複特殊字元,      # grep  "h[ex]quan"  hequan           查找hequan 或者hxquan

[^word]         比對不包括^後面的任意字元

 # grep   "[^not boog]"  hequan  --color=auto

I  am   hequan  linux   teacher.

I   like  chinese   chess, table  tennis.

111111111111111

49000000000000048,49448 

# grep  -E "[^0-9|,]"  hequan  --color=auto

a\{n,m\}    重複n到m次,前一個重複的的字元

a{n,}     重複至少n次

a{n}     重複n次

# grep "490\{2,3\}"   hequan

 # grep "490\{1,\}"   hequan

# grep "490\{4\}"   hequan  --color=auto

擴充正規表達式:ERF

 +   重複一個或者一個以上前面的字元

# egrep "490+" hequan

?  重複0個或者一個前面的字元

| 用或的方式查找多個符号的字元串

()  找出“使用者組”字元串

# grep -E "h(ex|equa)n"   hequan  

man  grep

/REGULAR

# ifconfig eth0 | grep "inet addr" |cut -d ":"  -f2 | cut -d " "  -f1

192.168.10.10

# ifconfig eth0 | grep "inet addr" |awk -F ":"  '{print $2}' | awk '{print $1}'

# ifconfig eth0 | grep "inet addr" | awk -F "[: ]"  '{print $13}'

# ifconfig eth0 | grep "inet addr" | awk -F "[: ]+"  '{print $4}'

# echo ---1:----2 | awk -F  '[-:]+' '{print $3}'   

2

# ifconfig eth0 | sed -n '2p'

 awk  -F "[-:]+"

$1    $NF 最後一列         $0整行              NF         NR

# ifconfig eth0 | sed  -n   '/inet addr/p'

# ifconfig eth0 | sed  -n   '/inet addr/p' |sed  's#^.*addr:##g'

# ifconfig eth0 | sed  -n   '/inet addr/p' |sed  's#^.*addr:##g' | sed 's#  Bc.*$##g'

# ifconfig eth0 | grep "HWaddr" |awk -F "[ ]+"  '{print $5}'

00:0C:29:E1:35:13

.*  

# ifconfig eth0  | sed -n 's#^.*addr:\(.*\)  Bcast.*$#\1#gp'

# ifconfig eth0 | sed -n 's#^.*HWaddr \(.*\)#\1#gp'

# sed  's#\(dd\) \(xx\)#\1#g' a.txt   

dd 

# ifconfig eth0 | sed -n 's#^.*dr:\(.*\)  Bcast:\(.*\)  Ma.*$#\1 \2#gp'

192.168.10.10 192.168.10.255

4 2 1   r w  x

# stat  /xx

# stat  /xx |sed -n 4p| awk -F "[/(]"  '{print $2}'

0644

# stat  /xx | head -4 | tail -1  |  awk -F "[/(]"  '{print $2}'

# stat /xx | sed -n 's#^.*ess: (0\(.*\)/-.*$#\1#gp'

# stat  /xx  | sed -n  's#^.*(\(.*\)/-.*$#\1#gp'

# stat  -c  %a  /xx

# stat  -c  %A  /xx

-rw-r--r--

# stat  -c  %B  /xx 

512

# stat  -c  %b /xx 

# stat /xx | sed -n '4p' | awk  -F "[(/]"  '{print $2}'

# ll /xx | cut -c 2-10 | tr rwx- 4210 | awk -F "" '{print $1+$2+$3  $4+$5+$6   $7+$8+$9}'

# vi /etc/resolv.conf

vi /etc/sysconfig/network-scripts/ifcfg-eth0 

chmod 644 hequan

# echo -n hequan;echo hequan        不換行

hequanhequan

# echo -e  "hequan\thequan"

hequan  hequan

# echo -e  "hequan\nhequan"

hequan

# LANG=en

# date '+%y-%m-%d'

16-03-30

# date '+%Y-%m-%d'

2016-03-30

# date +%w

3

# date +%u

cut 

# echo `date +%F\ %T`

2016-03-30 17:06:52

tar

# tar zcvf    /tmp/qwe2.tar.gz   ./etc/

# tar zcvf    /tmp/qwe-$(date +%F-%T).tar.gz   ./etc/

# tar zcvf    /tmp/qwe-$(date +%w).tar.gz   ./etc/

# find /log -type  f -name "*.log"  -mtime +7 |xargs  rm -f

# /usr/sbin/ntpdate  time.ntvs.gov

# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

# cal

# which  ifconfig

/sbin/ifconfig

# export PATH=$PATH:$HOME/bin:/sbin

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/sbin

# vi /etc/profile

# date +%F  --date='3  day ago'

2016-03-24

# grep -v "^$"  xx

# sed  '/^$/d'  xx

# awk /^[^$]/ xx

which ifconfig

whereis   

find 

locate -n 1 cp

# find / -name "cp"

who

lastlog

shutdown -h now                                                        halt      poweroff

init 6

logout

exit

本文轉自 295631788 51CTO部落格,原文連結:http://blog.51cto.com/hequan/1758538,如需轉載請自行聯系原作者

下一篇: javaNIO

繼續閱讀