是一套處理字元串的櫃子和方法,以行為機關對字元串進行處理
通過特殊的符号的輔助,可以快速過濾 替換某些特定的字元串
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,如需轉載請自行聯系原作者