首页 > shell如何控制线程/进程数量以运行脚本?

shell如何控制线程/进程数量以运行脚本?

现有千万行数据A文件,格式如下:
数据 IP
数据 IP
数据 IP
……

另有IP列表一份B文件,格式如下:
IP
IP
IP
……

现要求从A文件找出包含B文件中IP的行,输出到C文件。
我尝试过一些方法,发现自己太傻……
最后采取了这种方法,正在跑但总觉得效率太低……
想到要循环几百万次,就蛋疼不已,一秒钟一次循环得跑一个月……

#!/bin/bash
for i in `cat Bfile`
do
awk '$2=="$i"' Afile
done >Cfile

不知道怎么控制线程数量,如果不加以控制地运行的话就是这样,会因为进程过多占用系统资源一会就死掉了。

#!/bin/bash
for i in `cat Bfile`
do
{
awk '$2=="$i"' Afile
}&
done >Cfile
wait
【热门文章】
【热门文章】