小编gni*_*urf的帖子

计算特定目录中的目录数

如何计算特定目录中的文件夹数.我使用以下命令,但它总是提供额外的命令.

find /directory/ -maxdepth 1 -type d -print| wc -l
Run Code Online (Sandbox Code Playgroud)

例如,如果我有3个文件夹,则此命令提供4.如果它包含5个文件夹,则该命令提供6.为什么?

linux bash

88
推荐指数
10
解决办法
17万
查看次数

java中有堆吗?

我正在将一个C++库移植到Java,我需要一个堆数据结构.是否有标准实施或我是否需要自己完成?

java

56
推荐指数
5
解决办法
7万
查看次数

什么是Bash的爆炸美元(!$)?

Bang dollar似乎是指最后一个命令行的最后一部分.

例如

$ ls -l
 .... something
$ !$
-l
bash: -l command not found
Run Code Online (Sandbox Code Playgroud)

我可以在美元变量上找到很多(例如$!)但不是这个.任何解释?

syntax bash symbols

25
推荐指数
2
解决办法
8921
查看次数

如何通过保持目录结构完整来rsync路径中具有匹配模式的文件?

我想将所有文件从服务器A复制到服务器B,这些文件在不同级别的文件系统层次结构中具有相同的父目录名,例如:

/var/lib/data/sub1/sub2/commonname/filetobecopied.foo
/var/lib/data/sub1/sub3/commonname/filetobecopied.foo
/var/lib/data/sub2/sub4/commonname/anotherfiletobecopied.foo
/var/lib/data/sub3/sub4/differentname/fileNOTtobecopied.foo
Run Code Online (Sandbox Code Playgroud)

我想复制前三个文件都有commonname路径到服务器B.我已经花了很多时间找到正确的包含/排除模式,rsync但我没有得到它.以下命令不起作用:

rsync -a --include='**/commonname/*.foo' --exclude='*' root@1.2.3.4:/var/lib/data /var/lib/data
Run Code Online (Sandbox Code Playgroud)

我要么匹配太多,要么与少数文件匹配.如何仅将文件commonname与其路径中的文件同步?

regex linux bash shell rsync

19
推荐指数
1
解决办法
2万
查看次数

如何将UITableView永远放在UIView的中心?

我想UITableView在一个中心实现一个UIView.最初它只有2或3行.当用户添加更多行时,它将在垂直方向上延伸,而整个内容保留在中心,如下所示:

在此输入图像描述

有可能这样做UITableView吗?

iphone uitableview ios

18
推荐指数
3
解决办法
7156
查看次数

Bash从变量中获取最后一行

如果我有一个包含多行(文本)的变量,我该如何从中获取最后一行?

我已经想出如何获得第一行:

STRING="This is a
multiple line
variable test"
FIRST_LINE=(${STRING[@]})
echo "$FIRST_LINE"

# output:
"This is a"
Run Code Online (Sandbox Code Playgroud)

可能最后一行应该有一个操作员.或者至少我认为因为@第一行出来了.

variables bash line

18
推荐指数
2
解决办法
2万
查看次数

字符串上的校验和

有没有办法在Linux中计算字符串的校验和?我所看到的校验命令(cksum,md5sum,sha1sum等)都需要一个文件作为输入,我没有一个文件.我只有一个位置的路径,并希望计算该路径上的校验和.

linux bash checksum

16
推荐指数
2
解决办法
1万
查看次数

填充队列并在python中管理多处理

我在python中遇到这个问题:

  • 我有一个URL队列,我需要不时检查
  • 如果队列已满,我需要处理队列中的每个项目
  • 队列中的每个项目必须由单个进程处理(多处理)

到目前为止,我设法实现这个"手动"这样:

while 1:
        self.updateQueue()

        while not self.mainUrlQueue.empty():
            domain = self.mainUrlQueue.get()

            # if we didn't launched any process yet, we need to do so
            if len(self.jobs) < maxprocess:
                self.startJob(domain)
                #time.sleep(1)
            else:
                # If we already have process started we need to clear the old process in our pool and start new ones
                jobdone = 0

                # We circle through each of the process, until we find one free ; only then leave the loop 
                while jobdone == …
Run Code Online (Sandbox Code Playgroud)

python queue pool multiprocessing

16
推荐指数
2
解决办法
3万
查看次数

Prolog中的"semidet"概念是否已解决?

作为Prolog的新手,我在2012年末遇到了一个非常有趣的讨论.我注意到当时在Prolog社区中有两个"semidet"概念,即:

  1. 计算最多成功一次.
  2. 一种计算,一旦成功,就不会留下任何选择点.

显然,第二个意味着第一个,但反之则不然.

阅读帖子,我明白第一个是Dr.Neumerkel的概念,第二个是Drs.Wielemaker,O'Keefe和其他人.

谷歌搜索,我看到一些数据库研究人员的意思是'半确定'一个查询,它最多可以回答一个等价类,更接近第一个概念.

Dr.Neumerkel说(参考call_semidet那里的谓词):

实施可能会得到改进,但在优化和标记之前,需要解决实际意义.

那么,意义已经解决了吗?

'det'怎么样?

习惯上根据解决方案的数量对谓词进行分类.根据SWI-Prolog的定义(见下文),'det'可以进行完全非确定性(比如并行)计算,只要它提交到现在保证存在的解决方案.因此,通过类比我猜可能有两个'det'的概念:

  1. 一次成功的计算.
  2. 这正是成功的一次计算其一旦成功,没有留下的选择点.

第一个更符合逻辑,但在计算结束之前一般都是不可判定的.一旦找到解决方案,第二个很容易判定,但程序及其含义取决于Prolog采用的特定搜索策略,即深度优先搜索.

我想知道是否还没有社区的共识?为什么不区别这两个不同的概念呢?

以下是上面SWI-Prolog页面的摘录:

det [determinism]

确定性的缩写.

确定性

如果谓词在没有离开选择点的情况下成功完成一次,则谓词是确定性的.

semidet

半确定性的简写.

半确定性的

半确定性的谓词要么失败要么在没有选择点的情况下成功完成一次.另见确定性.

prolog

12
推荐指数
2
解决办法
400
查看次数

在bash脚本中减去两个时间戳

我有一个文件,其中包含一组时间戳的格式H:M:S.MS,我可以读取并打印所有保存的时间戳,但是当我做一些像Subtract这样的算术运算时(说Timestamp2 - Timestamp1)它没有给我答案,我没有经验使用bash脚本编程.

任何建议,建议将不胜感激.

这是我的问题的屏幕截图.

这是一个例子:

Start Time = 17:53:01.166721
End Time = 17:53:01.369787
Run Code Online (Sandbox Code Playgroud)

预期结果End Time - Start Time0:00:0.2030660.203066.

math bash shell timestamp date

10
推荐指数
2
解决办法
8263
查看次数