Chinaunix

标题: 语法问题。弱弱的问一下 [打印本页]

作者: cuitao1212    时间: 2008-11-10 15:29
标题: 语法问题。弱弱的问一下
不知道可以这么用不能?

假如我查看数据库实例名可以用命令
pgrep -lf pmon |awk -F_ '{print $3}'
得到的输出为
A001
A002
B002
C003

输入文件名为ABC_A001_123或者为ABC_123_B002
我想查看一下输入的文件名里面的$2或者$3 是不是在上面四个数据库实例中存在。不知道该怎么写。求助
$name 为输入的文件名,现在假如我先查$3在不在list中。用下面的语句写貌似不对阿

if `echo $name |awk -F_ '{print $3}'` in `pgrep -lf pmon |awk -F_ '{print $3}'`

求助求助~!
作者: jackymail    时间: 2008-11-10 15:46
cat ABC_A001_123 ABC_123_B002 | grep -Fx "$(pgrep -lf pmon |awk -F_ '{print $3}')"
作者: cuitao1212    时间: 2008-11-10 15:57
原帖由 jackymail 于 2008-11-10 15:46 发表
cat ABC_A001_123 ABC_123_B002 | grep -Fx "$(pgrep -lf pmon |awk -F_ '{print $3}')"



好像不太行啊。有个事情刚才说的不太清楚。 ABC_A001_123和ABC_123_B002是变量内容。不是文件名,是个值。需要echo吧?

# cat ABC_A001_123  | grep -Fx "$(pgrep -lf pmon |awk -F_ '{print $3}')"
cat: cannot open ABC_A001_123
grep: illegal option -- F
grep: illegal option -- x
Usage: grep -hblcnsviw pattern file . . .


# echo ABC_A001_123 | grep -Fx "$(pgrep -lf pmon |awk -F_ '{print $3}')"
grep: illegal option -- F
grep: illegal option -- x
Usage: grep -hblcnsviw pattern file . . .

[ 本帖最后由 cuitao1212 于 2008-11-10 15:58 编辑 ]
作者: jackymail    时间: 2008-11-10 16:18
echo $ABC_A001_123 | grep -Fx "$(pgrep -lf pmon |awk -F_ '{print $3}')"
作者: glibma    时间: 2008-11-10 16:22
grep: illegal option -- F
grep: illegal option -- x
貌似是参数不支持?
作者: jackymail    时间: 2008-11-10 16:47
for x in $ABC_A001_123
do
[ $x = $(pgrep -lf pmon |awk -F_ '{print $3}') ] && echo "found!!"
done




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2