小编Pie*_*ois的帖子

为什么 bash 的行注释技巧不适用于感叹号“!”

ref Bash 的内联注释?

我们可以使用这个技巧

echo abc `#put your comment here` \
     def `#another chance for a comment` \
     xyz etc
Run Code Online (Sandbox Code Playgroud)

但如果我们在评论中有感叹号,这些就不起作用

echo 1 `# 2 !3`
<error>
-bash: !3: event not found
Run Code Online (Sandbox Code Playgroud)

如果我们直接输入它不会被转换为事件

# 2 !3
<that is OK>
Run Code Online (Sandbox Code Playgroud)

看来我们需要另一个#符号来解决这个问题。

echo 1 `# 2 #!3`
<that is OK>
1
Run Code Online (Sandbox Code Playgroud)

或者我们是否必须将前导#符号加倍?

echo 1 `# # 2 !3`
<that is OK>
1
Run Code Online (Sandbox Code Playgroud)

bash

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

bash日期和时间算术的奇怪行为

当我发出bash命令时:

date --date="2018-03-03 12:16:13 -1hour" "+%Y:%m:%d %H:%M:%S"
Run Code Online (Sandbox Code Playgroud)

我希望结果是:

2018:03:03 11:16:13
Run Code Online (Sandbox Code Playgroud)

但相反,我得到:

2018:03:03 15:16:13
Run Code Online (Sandbox Code Playgroud)

我想知道这是否与时区有关,以及如何避免这种行为.

bash time

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

如何在 Android Studio 中获取原始资源的文件路径?

我一直在使用教程对图片进行一些人脸检测。问题是当我获取在 java 上使用的文件路径时

String xmlFile = "E:/OpenCV/facedetect/lbpcascade_frontalface.xml";
CascadeClassifier classifier = new CascadeClassifier(xmlFile);
Run Code Online (Sandbox Code Playgroud)

我如何在 android studio 上翻译。我尝试将我的 lbpcascade_frontalface.xml 放在原始资源上。CascadeClassifier 是 opencv 库提供的一个类。唯一的问题是它们只加载了字符串路径(在 xmlfile 上)。这是我的代码。

String pathtoRes = getRawPathAtempt2(context);
CascadeClassifier cascadeClassifier = new CascadeClassifier();
cascadeClassifier.load(pathtoRes);
Run Code Online (Sandbox Code Playgroud)

我翻译成这样的方法。

  public String getRawPathAtempt2(Context context) {
    return "android.resource://" + context.getPackageName() + "/raw/" + "lbpcascade_frontalface.xml";
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我收到 opencv 的断言错误,告诉我文件为空。那意味着当我在我的方法中使用文件路径时我错了。如何获取原始资源的文件路径?请帮帮我我已经被困了好几天了

android file

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

如何使用 bash 脚本计算单词中出现次数最多的 3 个字母序列

我有一个示例文件,如

XYZAcc
ABCAccounting
Accounting firm
Accounting Aco
Accounting Acompany
Acoustical consultant
Run Code Online (Sandbox Code Playgroud)

在这里,我需要 grep 一个单词中出现最多的 3 个字母序列

输出应该是

acc = 5 aco = 3

这在 Bash 中可能吗?

我完全不知道如何使用 awk、sed、grep 来完成它。

任何线索如何可能......

PS:没有输出,因为我不知道该怎么做,我不想写不必要的 awk -F, xyz abc ......这对任何地方都没有帮助......

linux bash awk sed

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

为什么第二个数字的值比第一个数字大 14?

我在 32 位机器上运行一个 C 程序gcc 7.5.0

为什么第二个数字的值比第一个数字大 14?

#include <stdio.h>
int main(void)
{
    int a[5];
    printf("%p\n", &a);
    printf("%p\n", &a+1);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

结果是:

0x7ffd7293f560
0x7ffd7293f574
Run Code Online (Sandbox Code Playgroud)

为什么第二个数字比第一个数字大 14?

c pointers pointer-arithmetic

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

标签 统计

bash ×3

android ×1

awk ×1

c ×1

file ×1

linux ×1

pointer-arithmetic ×1

pointers ×1

sed ×1

time ×1