天道酬勤,学无止境

find

如何将文件 *.R 和 *Rd 与查找实用程序匹配?(How to match files *.R and *Rd with find utility?)

问题 我想找到所有以.c 、 .R或.Rd结尾的文件。 我试过 find . -iname "*.[cR]" -print 它给出了所有以.c或.R结尾的文件。 我怎样才能另外获得.Rd文件? 我知道[]只匹配一个字符,但我无法调整它以提供.Rd文件(尝试使用|或选项-regex等) 回答1 给你=) find -name "*.c" -o -name "*.R" -o -name "*.Rd" 如果它只是您正在寻找的 3 种扩展类型,我建议您远离正则表达式,而只使用-o (如“或”中的)运算符来组成您的搜索。 回答2 -regex的合适用法是: find -regex '.*\.\(R\|Rd\|c\)' 如果你想使用正则表达式,你需要记住它们适用于整个路径,而不仅仅是文件名: -regex pattern File name matches regular expression pattern. This is a match on the whole path, not a search. For example, to match a file named `./fubar3', you can use the regular expression `.*bar.' or `.*b.*3', but not `f.*r3'. The regular expressions

2021-12-09 06:54:54    分类:技术分享    regex   find

从 find 创建符号链接(Create symbolic link from find)

问题 我正在尝试根据 find 命令的结果创建符号链接(软链接)。 我正在使用 sed 删除文件名前面的 ./ 。 我这样做是为了将文件名粘贴到将保存链接的路径的末尾。 我正在使用 Ubuntu Server 8.04 解决这个问题。 我从这篇文章中学到了,这是我问题的一种解决方案,但并不完全 - 如何有选择地创建指向 LINUX 中另一个目录中特定文件的符号链接? 但是,生成的文件名不起作用,所以我开始尝试学习 awk,然后决定使用 sed。 我正在使用单行循环来完成此操作。 问题在于循环的结构是分隔文件名,为文件名中的每个单词创建一个链接。 有很多文件,我想自动执行该过程,每个链接都使用它链接到的文件的文件名。 我对基本的 bash 命令很满意,但我远不是命令行专家。 我从 ls 和 awk 开始,然后转向 find 和 sed。 我的 sed 语法可能会更好,但我在两天内学会了这一点,现在我有点卡住了。 for t in find -type f -name "*txt*" | sed -e 's/.//' -e 's$/$$'; do echo ln -s $t ../folder2/$t; find -type f -name "*txt*" | sed -e 's/.//' -e 's$/$$'; do echo ln -s $t ../folder2/$t; 完毕

2021-12-09 06:23:01    分类:技术分享    sed   find

以不敏感的方式在 bash 中查找路径(Find path in bash on insensitive manner)

问题 假设一条路径像 /home/albfan/Projects/InSaNEWEBproJECT 尽管事实上不使用这样的名字。 有没有办法以不敏感的方式检查路径? 我遇到了这个解决方案,但如果可能的话,我想找到一个内置或 gnu 程序。 function searchPathInsensitive { # Replace bar with comma (not valid directory character allowing parse dirs with spaces) #also remove first / if exist (if not this create a first empty element ORG="$1" if [ "${ORG:0:1}" = "/" ] then ORG="${ORG:1}" else ORG="${PWD:1}/$ORG" fi OLDIFS=$IF IFS=, for dir in ${ORG//\//,} do if [ -z $DIR ] then DIR="/$dir" else TMP_DIR="$DIR/$dir" DIR=$(/usr/bin/find $DIR -maxdepth 1 -ipath $TMP_DIR -print -quit) if [ -z $DIR ] then # If some of

2021-12-08 22:14:37    分类:技术分享    bash   path   find   case

在python中的列表中按成员查找对象(Find object by its member inside a List in python)

问题 让我们假设以下简单对象: class Mock: def __init__(self, name, age): self.name = name self.age = age 然后我有一个包含一些对象的列表,如下所示: myList = [Mock("Dan", 34), Mock("Jack", 30), Mock("Oli", 23)...] 是否有一些内置功能可以让我获得所有年龄为 30 岁的 Mock? 当然,我可以遍历它们并比较它们的年龄,但是像 find(myList, age=30) 会好的。 有这样的吗? 回答1 你可能想预先索引它们 - from collections import defaultdict class Mock(object): age_index = defaultdict(list) def __init__(self, name, age): self.name = name self.age = age Mock.age_index[age].append(self) @classmethod def find_by_age(cls, age): return Mock.age_index[age] 编辑:一张图片值一千字: X 轴是 myList 中的 Mock 数,Y 轴是运行时间(以秒为单位)。 红点是@dcrooney 的

2021-12-08 17:22:37    分类:技术分享    python   list   search   find

JQuery:如何找出一个元素有多少个子元素?(JQuery: How to find out how many children an element has?)

问题 如何使用 jQuery 找出一个元素有多少个子元素? 假设我有以下结构: <div id="container"> <div id="column1"> <div id="asset1"></div> <div id="asset2"></div> </div> <div id="column2"> <div id="asset1"></div> <div id="asset2"></div> </div> </div> 我想知道 div element: container 有多少个孩子。 在这种情况下,它将返回 2 ... 回答1 使用儿童和长度: $("#container").children().length 回答2 使用直接子选择器 (>) 和 length 属性: $('#container > *').length 示例 - http://jsfiddle.net/TtV8d/

2021-12-08 13:13:41    分类:技术分享    javascript   jquery   dom   find   children

查找函数运行时错误 91 中的 VBA(VBA in find function runtime error 91)

问题 我的问题是关于 VBA for excel 中的运行时错误 91。 我已经做了一些搜索无济于事。 我的代码如下。 我已经注意到导致错误的部分。 为什么会发生这种情况,我该如何解决并继续? Sub RemoveFooterRows(theFile) Dim found As Range Dim aggregateRow ''Error is from section below found = isItRow = Workbooks(theFile).Worksheets(1).Columns(1).Find _ ("Summary", Range("A1"), xlValues, xlPart, xlByRows, xlNext, False, , False) ''Error is from section above MsgBox ("val is " & found.Row) End Sub 回答1 Sub RemoveFooterRows(theFile) Dim found As Range Set found = Workbooks(theFile).Worksheets(1).Columns(1).Find _ ("Summary", Range("A1"), xlValues, xlPart, xlByRows, xlNext, False, , False)

2021-12-08 11:49:55    分类:技术分享    excel   vba   find   runtime

使用 bash 脚本删除损坏的文件 [关闭](removing corrupted files using a bash script [closed])

问题 很难说出这里问的是什么。 这个问题是模棱两可的、含糊的、不完整的、过于宽泛或修辞的,不能以目前的形式得到合理的回答。 如需帮助澄清此问题以便重新打开它,请访问帮助中心。 9年前关闭。 恢复损坏的硬盘后,我有很多“坏”文件。 我需要 bash 中的脚本来帮助我删除坏文件,例如 零字节仅包含 (00 00 00 00 00 ...) 回答1 最好使用find : find -maxdepth 1 -type f -empty -print0 | xargs -0 rm -f -v 回答2 find . -type f -size 0c -maxdepth 1 -exec rm {} \; 这个怎么样?

2021-12-08 10:55:50    分类:技术分享    bash   find   grep

opencv在另一个图像上查找图像坐标(opencv finding image cordinates on another image)

问题 如何在包含图像“A”的图像“B”上找到图像“A”坐标。 我写了这个程序,它只检查像素值,有人知道有没有库工具可以做到这一点。 回答1 正如 Throwback1986 所建议的,您可能想要使用 matchTemplate。 这是我的答案之一,展示了如何从虚拟航天器检测太阳。 这是来自 OpenCV 的关于使用matchTemplate的较新教程。 现在,使用matchTemplate方法有一些注意事项。 如果图像“A”可以在图像“B”中处于任意姿势(例如,缩放、旋转、透视等的变化),则matchTemplate将不会很好地工作。 如果碰巧是这种情况,您将希望按照 Adrian Popovici 的建议使用特征检测路线。 回答2 你应该看看这个链接的最后 3 个教程:http://opencv.itseez.com/doc/tutorials/features2d/table_of_content_features2d/table_of_content_features2d.html 我认为检查像素不是一个好方法。 回答3 您可能会考虑像本教程中描述的模板匹配之类的东西。 更强力的方法是将图像 A 逐渐“滑动”到图像 B 上,以寻找差异最小的点。 (请注意,这假设图像 A 是图像 B 的某个相当小的子集。)您可以使用 cvNorm 函数来计算 L1 范数,这相当于计算平方差和

2021-12-08 07:24:38    分类:技术分享    image   opencv   find   point

在Matlab中查找匹配两个条件的向量元素(Find vector elements matching two conditions in Matlab)

问题 我有一个向量a = [1 5 3 4 2] 。 我想找到 a 的所有元素,即1<a<5 。 我如何在Matlab中做到这一点? 我个人开发了一种解决方案,但很麻烦: a = [1 5 3 4 2]; ix = find(a>1); ix = ix(find(a(ix)<5)); disp(a(ix)) 什么是更好的方法? 回答1 使用逻辑索引: >> a = [1 5 3 4 2]; >> a = a(1 < a & a < 5) a = 3 4 2 回答2 对您的代码进行简单的调整可以简化它: a = [1 5 3 4 2]; disp(find(a>1&a<5)) 回答3 ismember 是离散情况的不错选择 a = [1 5 3 4 2]; find(ismember(a, 2:4))

2021-12-08 07:13:39    分类:技术分享    matlab   find

在 find -exec 中使用别名(Using an alias in find -exec)

问题 我在 bash 中有一个很长的命令,我不想一直输入,所以我在我的 .profile 中放了一个别名 alias foo='...' 现在我想使用 find -exec 执行这个别名 find . -exec foo '{}' \; 但 find 找不到 foo: find: foo: 没有那个文件或目录 是否可以在 find 中使用别名? 回答1 find本身对别名一无所知,但您的 shell 却知道。 如果您使用的是足够新的bash版本(我认为 4.0 添加了此功能),则可以使用find . -exec ${BASH_ALIASES[foo]} {} \; find . -exec ${BASH_ALIASES[foo]} {} \; 在命令行中的那个点插入别名的文字内容。 回答2 不, find 对您的别名一无所知。 别名不像环境变量,因为它们不会被子进程“继承”。 您可以使用相同的命令创建一个 shell 脚本,设置 +x 权限并将其放在您的路径中。 这将与查找一起使用。 回答3 在处理 find 的结果时调用别名的另一种方法是使用类似这样的答案 所以以下应该工作: alias ll="ls -al" find . -type d | while read folder; do ll $folder; done 回答4 我在这个例子中使用了ll通常知道的别名

2021-12-07 16:25:03    分类:技术分享    bash   find   alias