我正在制作一个基本计算器来进行加,减,乘和除.
加法有效,但不是乘法.当我试图繁殖时,我得到"你没有正确运行程序"的回复:
$ ./calculator 4 + 5
9
$ ./calculator 4 * 5
You did not run the program correctly
Example: calculator 4 + 5
Run Code Online (Sandbox Code Playgroud)
我在google上搜索过,在那里我找到了\\*代码,但仍然无法正常工作.有人能为我提供解决方案或解释吗?
这是我的代码
#!/bin/bash
if [ $# != 3 ]; then
echo You did not run the program correctly
echo Example: calculator 4 + 5
exit 1
fi
if [ $2 = "+" ]; then
ANSWER=`expr $1 + $3`
echo $ANSWER
fi
if [ $2 = "*" ]; then
ANSWER=`expr $1 \\* $3`
echo …Run Code Online (Sandbox Code Playgroud) +---+------------+
| A| B|
+---+------------+
| x1| [s1]|
| x2| [s2 (A2)]|
| x3| [s3 (A3)]|
| x4| [s4 (A4)]|
| x5| [s5 (A5)]|
| x6| [s6 (A6)]|
+---+------------+
Run Code Online (Sandbox Code Playgroud)
想要的结果:
+---+------------+-------+
|A |B |value |
+---+------------+-------+
|x1 |[s1] |[s1] |
|x2 |[s2 (A2)] |[s2] |
|x3 |[s3 (A3)] |[s3] |
|x4 |[s4 (A4)] |[s4] |
|x5 |[s5 (A5)] |[s5] |
|x6 |[s6 (A6)] |[s6] |
+---+------------+-------+
Run Code Online (Sandbox Code Playgroud)
当我应用下面的每个代码时,它们之前的括号和空格没有被替换:
from pyspark.sql.functions import expr
df.withColumn("C",
expr('''transform(B, x-> regexp_replace(x, ' \\(A.\\)', ''))''')).show(truncate=False)
Run Code Online (Sandbox Code Playgroud)
或者
df.withColumn("C", …Run Code Online (Sandbox Code Playgroud) 这个应该按月过滤结果的查询似乎工作正常。但我不知道如何添加年份过滤器。
db.collection.find({
"$expr": {
"$eq": [{ "$month": "$timestamp" }, 12]
}
});
Run Code Online (Sandbox Code Playgroud)
我试图想出这样的东西,但没有成功。
db.collection.find({
"$expr": {
"$and": [
{ "$eq": [{ "$month": "$timestamp" }, 12] },
{ "$eq": [{ "$year": "$timestamp" }, 2018] }
]
}
});
Run Code Online (Sandbox Code Playgroud)
如何正确地做到这一点?
为什么以下返回语法错误:
stringZ=abcABC123ABCabc
echo `expr match "$stringZ" 'abc[A-Z]*.2'`
Run Code Online (Sandbox Code Playgroud)
这适用于我的 ubuntu 机器,但是当我在运行 OS X 10.9.4 的 mac 上尝试时,我得到了expr: syntax error?
echo "$(expr "title: Purple Haze artist: Jimi Hendrix" : 'title:\s*\(.*\?\)\s*artist.*' )"
Run Code Online (Sandbox Code Playgroud)
版画
Purple Haze
Run Code Online (Sandbox Code Playgroud)
使用尾随空格,即使我使用的是?懒惰运算符.
我在https://regex101.com/上测试了这个,它按预期工作,bash有什么不同?
我的文档如下所示
doc = {
name: 'abc',
age:20
}
Run Code Online (Sandbox Code Playgroud)
我的查询看起来像
{ $expr: {$and:[{ $gt:[ "$age", 10 ] },
{ $regex:["$name",'ab']}
]
}
} }
Run Code Online (Sandbox Code Playgroud)
但它不起作用并且我收到错误
无法识别的表达式“$regex”
我怎样才能让它发挥作用?
我原来的查询看起来像这样
db.orders.aggregate([{
$match: {}},
{$lookup: {
from: "orders",
let: {
"customer_details": "$customerDetails"
},
pipeline: [
{
$match: {
$expr: {
$and: [
{ $or: [
{
$eq: ["$customerDetails.parentMobile","$$customer_details.parentMobile"]
},
{$eq: ["$customerDetails.studentMobile","$$customer_details.parentMobile"]
},
{$eq: ["$customerDetails.studentMobile","$$customer_details.parentMobile"]
},
{$eq: ["$customerDetails.studentMobile","$$customer_details.studentMobile"]
}
]
},
{$eq: ["$customerDetails.zipCode","$$customer_details.zipCode"]},
{$eq: ["$customerDetails.address","$$customer_details.address"]}
]
}
}
}],
as: "oldOrder"
}
}])
Run Code Online (Sandbox Code Playgroud)
我想用于regex …
所以我刚开始学习正则表达式.我必须在一个大字符串中提取一个子字符串.
我的字符串基本上是一个包含很多东西的大行.我已经确定了我需要提取的模式.我需要这一行中的数字A lot of stuff<li>65,435 views</li>a lot of stuff这个数字只是例如.
整个字符串实际上是一个大行,我的文件views.txt包含很多这样的行.
所以我试过这个,
while read p
do
y=`expr "$p": ".*<li>\(.*\) views "`
echo $y
done < views.txt
Run Code Online (Sandbox Code Playgroud)
我希望迭代这个views.txt文件中的所有这些行并打印出数字.
我收到语法错误.我真的不知道这里出了什么问题.我相信我已经正确地通过两侧的数量<li>和views包括的空间.
我对上述正则表达式的(有限的)解释使我相信它会输出数字.
任何帮助表示赞赏.
我知道我可以设置一个cron作业,每5分钟运行一次crontab -e,添加一行如下:*/5 * * * * /path/to/script.sh.
是否可以使用date +"%M"例如以分钟为单位获得系统时间,然后将cron作业设置为在date +"%M"加5分钟运行?
我知道我可以date +"%M"通过以下过程获得+5:
$ MIN=`date +"%M"`
$ export MIN
$ expr $MIN + 5
Run Code Online (Sandbox Code Playgroud)
是否可以使用它来设置一个cron作业或脚本以"当前时间分钟"加上"X分钟"运行?
我可以想象这在用户创建新文档的应用程序中很有用,然后在创建文档后X分钟提示保存或标题文档.
#!/bin/bash
clear
echo "Enter a number"
read a
s = 0
while [ $a -gt 0 ]
do
r = ` expr $a % 10 `
s = ` expr $s + $r `
a = ` expr $a / 10 `
done
echo "sum of digits is = $s"
Run Code Online (Sandbox Code Playgroud)
这是我的代码家伙。我收到一堆 expr 语法错误。我正在使用 bash shell。谢谢!
我有一个名为 expr 的数据类型,如下所示:
data Expr = C Float | Expr :+ Expr | Expr :- Expr | Expr :* Expr| Expr :/ Expr
Run Code Online (Sandbox Code Playgroud)
我想要做的是扩展 Expr 数据类型以允许变量和“让”表达式