UNIX script匹配问题# Programming - 葵花宝典
m*o
1 楼
文件answer存有:
2 Dog
0 Cat
1 Pig
0 None of above
我写了个SCRIPT,如果输入参数和以上词组相同则增加前面的数字
#!/bin/sh
temp=$1
awk '
{
if( $2=="'"$temp"'") { print $1+1, $2 }
else { print;}
}' answer
如果是单个单词的话,像Dog, Cat都可以正确执行:
test "Dog"
test "Cat"
但是如果遇到第四行,如果输入:
test "None of above"
就只和None匹配,不对前面的数字操作了,怎样才能和数字后的全部词组匹配呢?我知
道$2,$3与None, of对应,但是如果有很多词呢?
例如我输入:test "None of above" 前面的0变成1
2 Dog
0 Cat
1 Pig
0 None of above
我写了个SCRIPT,如果输入参数和以上词组相同则增加前面的数字
#!/bin/sh
temp=$1
awk '
{
if( $2=="'"$temp"'") { print $1+1, $2 }
else { print;}
}' answer
如果是单个单词的话,像Dog, Cat都可以正确执行:
test "Dog"
test "Cat"
但是如果遇到第四行,如果输入:
test "None of above"
就只和None匹配,不对前面的数字操作了,怎样才能和数字后的全部词组匹配呢?我知
道$2,$3与None, of对应,但是如果有很多词呢?
例如我输入:test "None of above" 前面的0变成1