我目前正在使用bash创建数据库。我想添加一个“和”功能。此函数将搜索两个内容,并仅返回与两个搜索匹配的内容。我将如何实现这一目标?
这是我的代码:
var A = [5, 3];
var B = [3, 4];
function slope(a, b) {
if (a[0] == b[0]) {
return null;
}
return (b[1] - a[1]) / (b[0] - a[0]);
}
function intercept(point, slope) {
if (slope === null) {
// vertical line
return point[0];
}
return point[1] - slope * point[0];
}
var m = slope(A, B);
console.log(m);
var b = intercept(A, m);
console.log('intercept: ' + b);
答案 0 :(得分:0)
将第一个grep
的输出作为输入传递给第二个grep
。只会返回包含$search1
和$search2
的行。
function and {
if [[ $(grep -i "$search1" people.dat | grep -i "$search2") ]]; then
echo yes
fi
}
答案 1 :(得分:0)
@munircontractor is on the right track。你可以做得更简单:
function and {
if grep -i "$search1" people.dat | grep -qi "$search2"; then
echo yes
fi
}
如果没有匹配,第一个grep
的输出将为空,退出代码将被忽略,输出将通过管道发送。第二个grep
将在找到匹配后立即停止搜索,不会打印任何内容,是否找到某个内容将确定整个管道的退出代码。
其他提示:
while true
read -r
来避免将反斜杠视为转义特殊字符