[SHELL] grep 指令使用 or 及 and 查兩個條件以上
#Step: 01 – grep 指令使用 or 及 and 查兩個條件以上
最近找字串 使用時候記憶一下
最近找字串 使用時候記憶一下
[SHELL] grep 指令使用 or 及 and 查兩個條件以上
OR
以下幾種方法,也可以實現 or 搜索,會對兩種字串進行搜索,只要符合其中一個條件,即會印出那行的內容:
$ grep '字串_1\|字串_2' file.txt
$ grep -E '字串_1|字串_2' file.txt
$ egrep '字串_1|字串_2' file.txt
$ grep -e 字串_1 -e 字串_2 file.txt
AND
除了 or 的用法,也可以有 and 的用法,即需要同時符合兩個條件: (分隔使用 .* [點] )
$ grep -E '字串_1.*字串_2' file.txt
$ grep -E '字串_1.*字串_2|字串_2.*字串_1' file.txt
grep -E '160.*Vlan'
hosts=(
box001:box001.domain.com
box002:box002.domain.com
box003:box003.domain.com
box004:box004.domain.com
box005:box005.domain.com
)
uri="http://server/api/duplicateobject.htm?id=2928&name=NEWSERVER&host=NEWHOSTNAME&targetid=3120"
for host in "${hosts[@]}"; do
IFS=":" names=( $host )
hosturi="${uri/NEWSERVER/${names[0]}}"
hosturi="${hosturi/NEWHOSTNAME/${names[1]}}"
echo "$hosturi"
done
Outputs:
http://server/api/duplicateobject.htm?id=2928&name=box001&host=box001.domain.com&targetid=3120
http://server/api/duplicateobject.htm?id=2928&name=box002&host=box002.domain.com&targetid=3120
http://server/api/duplicateobject.htm?id=2928&name=box003&host=box003.domain.com&targetid=3120
http://server/api/duplicateobject.htm?id=2928&name=box004&host=box004.domain.com&targetid=3120
http://server/api/duplicateobject.htm?id=2928&name=box005&host=box005.domain.com&targetid=3120
沒有留言:
張貼留言