小编use*_*107的帖子

在sed bash脚本变量中转义问号字符

我有一组保存的 html 文件,其中包含形式为http://mywebsite.com/showfile.cgi?key=somenumber 的链接,但我想取消问号(侧面故事是 firefox 讨厌?并随机转换它到 %3F 我确定有一些神奇的修复,但那是另一个问题......)

但是,我认为我的代码导致在 bash 将选项存储为变量时无法正确读取/保存/处理问号字符

# Doesn't work (no pattern matched)
SED_OPTIONS='-i s/\.cgi\?key/\.cgikey/g'

# Works e.g. http://mywebsite.com/showfileblah?key=somenumber
SED_OPTIONS='-i s/\.cgi/blah/g'

# Leaves question mark in e.g. http://mywebsite.com/showfile.blah?key=somenumber
SED_OPTIONS='-i s/cgi\?/blah/g'

# Actual sed command run when using SED_OPTIONS (I define FILES earlier in
# the code)
sed $SED_OPTIONS $FILES

# Not using the SED_OPTIONS variable works
# e.g. http://mywebsite.com/showfile.cgikey=somenumber
sed -i s/\.cgi\?key/\.cgikey/g $FILES
Run Code Online (Sandbox Code Playgroud)

如何使用 SED_OPTIONS 变量获得完整的命令?

regex bash sed

5
推荐指数
1
解决办法
8195
查看次数

Java - 舍入数字增加数字位数

什么是最有效的方法(在Java中)将数字n舍入到最接近的10的幂,其中包含比原始数字多一个数字?

例如3 - > 10

432 - > 1,000

241,345 - > 1,000,000

有没有办法将它放在一个O(1)线上?

我能看到的一个简单方法是使用for循环并增加10的幂,直到n /(10 ^ i)<1,但那不是O(1)而是O(log n).(好吧,我正在猜测它是因为它涉及一个力量的日志!)

java performance rounding

1
推荐指数
1
解决办法
241
查看次数

使用Java中的Integer对象比较运算符的安全性

什么时候使用比较运算符是安全的,例如==,> =,<在Java中使用Integer对象而不是原始的int?

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html

我知道==对于引用是危险的,你应该使用.equals,但其他运算符呢?例如

int x = 7;
int y = 7;
Integer a = new Integer(7);
Integer b = new Integer(7);

System.out.println(x == y);
System.out.println(a == b);
System.out.println(a.equals(b));
System.out.println(a <= b);
Run Code Online (Sandbox Code Playgroud)

版画

true
false // Why you should use .equals
true
true // Seemed dangerous but it worked?
Run Code Online (Sandbox Code Playgroud)

是否可以使用除double equals以外的任何东西(So>,<,> =和<=是安全吗?),还是应该使用.compareTo()方法?

java integer reference comparison-operators

0
推荐指数
1
解决办法
83
查看次数