Chinaunix

标题: 谁能帮我一把. [打印本页]

作者: tingyu    时间: 2007-10-16 21:49
标题: 谁能帮我一把.
find /opt -type f |grep -v "aaa" |grep -v "bbb"

因为后面的两个管道因为条件是随机的,所以我用了下面的内容.

type="aaa bbb"(只是例子)

for ccc in $type
do
ddd=${ddd}"| grep -v ${ccc}"
done

find /opt -type f ${ddd}

为什么这样管道条件传不进来,请问如何传过来.
作者: mxbao    时间: 2007-10-16 22:38
eval试试看。
还有,最开始没有定义ddd,能这么引用么?
作者: tingyu    时间: 2007-10-16 23:32
我用egrep -v aaa|bbb

这就不需要多管道了。
作者: chzht001    时间: 2007-10-17 09:21
原帖由 tingyu 于 2007-10-16 21:49 发表
find /opt -type f |grep -v "aaa" |grep -v "bbb"

因为后面的两个管道因为条件是随机的,所以我用了下面的内容.

type="aaa bbb"(只是例子)

for ccc in $type
do
ddd=${ddd}"| grep -v ${ccc}"
done ...


试试
#!/bin/sh

type="aaa bbb eee"

for ccc in $type
do
        if [ "x$ddd" = "x" ]; then
                ddd="$ccc"
        else
                ddd=${ddd}"\|$ccc"
        fi
done

ddd="grep -v ${ddd}"

find /opt -type f | $ddd




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