0

我目前将我的 grep 输出配置为将所有内容都放在一个文件中,我正在尝试在不需要创建文件的地方进行设置。

    func_database () {
egrep "^[0-9]" file.txt | egrep "/ON /" | sed s/-[^@]*$// > /users/home/myhome/log/test.txt
}

                                    func_database
            while read -r line ; do
                                    echo "Database $line Area a:" 
            python amgr.py status $line a
            echo ""
                        echo "Database $line Area b:" 
            python amgr.py status $line b
            echo ""
                        echo "Database $line Area c:" 
            python amgr.py status $line c
            echo ""
            done </users/home/myhome/log/test.txt

以上是我当前的设置,无论如何我可以设置一些东西,在 while;do 函数中运行它之前我不需要将此信息发送到 test.txt 文件。python 脚本只会在屏幕上输出状态。test.txt 文件包含以行分隔的数字列表,例如

0
15
32
78
95
4

1 回答 1

0

将您的输出直接通过管道传输到while

func_database () {
    egrep "^[0-9]" file.txt | egrep "/ON /" | sed s/-[^@]*$//
}
func_database |
while read -r line
do
    echo "Database $line Area a:" 
    python amgr.py status $line a
    echo ""
    echo "Database $line Area b:" 
    python amgr.py status $line b
    echo ""
    echo "Database $line Area c:" 
    python amgr.py status $line c
    echo ""
done
于 2013-01-10T14:45:37.980 回答