Tag: 查找

检查一个列表是否包含另一个列表中的元素

我有两个不同的对象在他们的列表。 List<Object1> list1; List<Object2> list2; 我想检查list1中是否存在list1中的元素,基于特定的属性(Object1和Object2有(除其他外),一个互相属性(types为Long),名为attributeSame)。 现在,我这样做: boolean found = false; for(Object1 object1 : list1){ for(Object2 object2: list2){ if(object1.getAttributeSame() == object2.getAttributeSame()){ found = true; //also do something } } if(!found){ //do something } found = false; } 但我认为有一个更好,更快的方式来做到这一点:)有人可以提出呢? 谢谢!

在python中处理list.index(可能不存在)的最佳方法是什么?

我有这样的代码: thing_index = thing_list.index(thing) otherfunction(thing_list, thing_index) 好吧,这是简化,但你明白了。 现在thing可能不会在列表中,在这种情况下,我想传递-1作为thing_index 。 在其他语言中,这是你所期望的index()返回,如果它找不到该元素。 实际上它会抛出一个ValueError 。 我可以这样做: try: thing_index = thing_list.index(thing) except ValueError: thing_index = -1 otherfunction(thing_list, thing_index) 但是,这感觉很脏,再加上我不知道ValueError是否可以因为其他原因而被提出。 我提出了基于生成器函数的以下解决scheme,但似乎有点复杂: thing_index = ( [(i for i in xrange(len(thing_list)) if thing_list[i]==thing)] or [-1] )[0] 有一个更清洁的方式来实现相同的事情? 我们假设列表没有sorting。

如何find'value = x'的元素?

我需要删除value="123"元素。 我知道所有具有不同值的元素都位于#attached_docs ,但我不知道如何selectvalue="123"元素。 $('#attached_docs').find … .remove(); 你可以帮我吗?

如何获得find命令以文件名称打印文件大小?

如果我发出find命令如下: $ find . -name *.ear 它打印出来: ./dir1/dir2/earFile1.ear ./dir1/dir2/earFile2.ear ./dir1/dir3/earFile1.ear 我想“打印”到命令行的名称和大小: ./dir1/dir2/earFile1.ear 5000 KB ./dir1/dir2/earFile2.ear 5400 KB ./dir1/dir3/earFile1.ear 5400 KB

什么是一个适当的search/检索方法很长的string列表?

这不是一个非常罕见的问题,但我似乎还找不到真正解释select的答案。 我有一个非常大的string列表(准确地说是SHA-256散列的ASCII表示),我需要查询该列表中是否存在string。 这个列表中可能有超过1亿个条目,我需要多次重复查询条目的存在。 给定的大小,我怀疑我可以把它们全部放进一个HashSet<string> 。 什么是适当的检索系统来最大限度地提高性能? 我可以预先sorting列表,我可以把它放到一个SQL表格中,我可以把它放到一个文本文件中,但是我不确定在我的应用程序中最有意义的是什么。 在这些performance方面,还是其他获取方法有明显的优势?

用于Unix的Windows查找命令来search多个文件types

虽然在窗口中安装了cygwin给了unix命令的大部分,我仍然想知道如何使用Windows“查找”命令在一个命令中search多个文件types。 即: find . -name *.cpp -o -name *.h -o -name *.java find . -name *.cpp -o -name *.h -o -name *.java 上面的命令给出了所有cpp,h和java的列表,使用windows查找什么等价物?

捕获find的输出。 -print0到一个bash数组中

使用find . -print0 find . -print0似乎是获得bash文件列表的唯一安全方式,因为文件名可能包含空格,换行符,引号等。 但是,我很难在bash或其他命令行工具中使find的输出有用。 我设法使用输出的唯一方法是通过pipe道到Perl,并将Perl的IFS更改为空: find . -print0 | perl -e '$/="\0"; @files=<>; print $#files;' 这个例子打印find的文件数量,避免文件名中换行符破坏计数的危险,就像下面这样: find . | wc -l 由于大多数命令行程序不支持空分界的input,我认为最好的办法是捕获find . -print0的输出find . -print0 find . -print0在bash数组中,就像我在上面的perl代码片段中所做的那样,然后继续执行任务,不pipe它是什么。 我怎样才能做到这一点? 这不起作用: find . -print0 | ( IFS=$'\0' ; array=( $( cat ) ) ; echo ${#array[@]} ) 一个更普遍的问题可能是: 我如何用bash中的文件列表来做有用的事情?

Bash – 如何find目录及其子目录中最大的文件?

我们刚刚开始一个UNIX类,正在学习各种Bash命令。 我们的任务涉及在一个目录下执行各种命令,这个目录下面还有许多文件夹。 我知道如何使用以下命令从根文件夹中列出和计算所有常规文件: find . -type l | wc -l 但我想知道从哪里去find整个目录中最大的文件。 我见过关于du命令的一些事情,但是我们还没有意识到,所以在我们学习的东西中我假设我们需要以某种方式将它连接到ls -t命令。 如果我的“行话”不正确,请原谅我,我还是习惯了!

如何去每个目录并执行命令?

我如何编写一个bash脚本来遍历parent_directory中的每个目录,并在每个目录中 执行一个命令 。 目录结构如下: parent_directory(名称可以是任何东西 – 不遵循模式) 001(目录名称遵循此模式) 0001.txt(文件名遵循此模式) 0002.txt 0003.txt 002 0001.txt 0002.txt 0003.txt 0004.txt 003 0001.txt 目录的数量是未知的。

使用PowerShell脚本查找和replace具有特定扩展名的所有文件

我在Windows Server 2008上有几个configuration文件嵌套像这样: C:\Projects\Project_1\project1.config C:\Projects\Project_2\project2.config 在我的configuration我需要做一个stringreplace像这样: <add key="Environment" value="Dev"/> 会变成: <add key="Environment" value="Demo"/> 我想过使用批处理脚本,但没有好的方法来做到这一点,我听说用PowerShell脚本,你可以很容易地执行此操作。 我find了查找/replace的例子,但我希望有一种方法可以遍历C:\ Projects目录下的所有文件夹,并find任何以“.config”扩展名结尾的文件。 当它find一个,我想它来replace我的string值。 有什么好的资源来找出如何做到这一点或任何PowerShell的大师可以提供一些见解?