2010年9月10日 星期五

bash下的字串處理

1. 向左刪除
字串處理方向是由
$ myvar=foodforthought.jpg
$ echo ${myvar##*fo}    #由左自右找到最後一個符合fo的將之後的顯示出來,*表示fo左邊可以有任意字元  
rthought.jpg

$ echo  ${myvar#*fo}    #由左自右找到第一個符合fo的將之後的顯示出來
odforthought.jpg

# 顯示 DNS IP 位址
$ mydns=$(cat /etc/resolv.conf | grep nameserver)
$ echo ${mydns##* }
192.168.56.2

顯示最後一個參數
$ nano lastargv.sh
myargv="$@"
echo ${myargv##* }

$ bash lastargv.sh a b c
c

2. 向右刪除
字串處理方向是由
$ myfoo=“chickensoup.tar.gz”
$ echo  ${myfoo%%.*}
chickensoup


$ echo  ${myfoo%.*}
chickensoup.tar

3. 截取字串
$ ex=cowabungaxyz
$ echo  ${ex:0:3}                # 0 代表起始位址, 3 代表抓三個字
Cow

$ echo  ${ex:3:7}
abungax

## 顯示 Dsfault Gateway
$ mygw=$(netstat -r | grep default)
$ echo $mygw
default              192.168.200.2 0.0.0.0 UG 0 0 0 eth0
$ echo ${mygw:16:15}
192.168.200.2

沒有留言:

張貼留言