Tag: 查找

使用“-exec rm -f {}”时“查找:’-exec’缺少参数”

我运行这个命令: ~/shell_temp$ find . -type f -name “IMAG1806.jpg” -exec rm -f {}\ 我得到以下输出: > IMAG1806.jpg Error: find: missing argument to `-exec’ 什么是从当前目录中查找任何文件并使用-exec删除的确切命令?

什么是-exec缺少的参数?

我使用以下命令清除超过30天的文件和目录的目录,并将它们移动到一个存档目录,如果没有人要求他们返回文件,我可以在几周后删除它。 目标目录按用户名包含子目录,归档目录也是如此。 这是我使用的命令: find /path/to/directory/username/ -mtime +30 -exec mv “{}” /path/to/archive/username/ \; 我建议修改这个版本来回答一个关于问问ubuntu的问题,另一个用户编辑了代码来改变行尾\; for +因为它更快(更正确吗?)。 看这里 但是,如果-exec命令是ls -lh但在我使用的实际命令中没有, ls -lh这种方式使用+ 。 如果我用+尝试它我收到一条错误消息: find: missing argument to ‘-exec’ 我不明白为什么它会这样做,或者正确的命令是什么。 请不要发布命令更正,我想了解而不是盲目地遵循建议。

如何使用“查找”查找两个日期之间的文件?

我有一个已经通过60GB电子邮件的电子邮件帐户,目前我在使用电子邮件客户端存档去年(2011年)的电子邮件时遇到了很多麻烦。 通过终端,我试图使用find在2011-01-01和2011-12-31之间找到文件,但无济于事。 如何在两个日期之间找到文件? 如果相关,最终目标将是一个批处理,它将找到的每个文件(与日期间隔匹配)移动到文件夹。

“{} \;”在Linux命令中意味着什么?

有时我看到以下命令: find . -name * -exec ls -a {} \; 我被要求执行此操作。 什么是{} \; 这意味着什么

管道查找-name到xargs会导致文件名中没有传递给命令的空格

通常要删除文件名中包含空格的文件,您必须运行: $ rm “file name” 但如果我想删除多个文件,例如: $ find . -name “*.txt” | xargs rm 这不会删除包含空格的文件。

JPG批量压缩和重命名(找-exec,xargs,管道?)

这是我的第一篇文章,所以我希望如果我犯了一些格式错误,你会好心的原谅我。 这是我已经有一段时间的问题了,在寻找答案的过程中,我有更多的问题。 我试图在一个命令中使用convert来压缩文件夹中的图片。 首先,我只是尝试: convert * -resize 50% Pic.jpg 然而,这返回了名为Pic-0.jpg,Pic-1.jpg等的压缩图片(我也试过$(find “.JPG”)而不是*但是这扩展到相同。为了进行格式化我想要我尝试过: convert * -resize 50% Pic_lorez_{1..3}.jpg 但这似乎将Pic_lorez_2.jpg和Pic3_lorez_3.jpg作为输入文件,而不是输出文件。 所以按照朋友的建议,我试过: find . -name “*.JPG” -exec convert {} -resize 50% {} \; 这会压缩同名的所有文件,但不允许将我想要的名称放在这些文件中(例如,Pic_lorez_ {1,2,3,4,5,.. 100} .jpg)。 xargs会使它成为可能吗? 有点像: find . -name “*.JPG” | xargs convert ??? 我无法用xargs弄清楚正确的语法。 我终于尝试了直接搜索转换,但转换似乎无法以这种方式工作。

查找文件和打印信息

我可以轻松找到名称中包含给定字符串的文件: me@comp:/usr/local/hydra/hydra-7.4.2$ find -D stat -name “*hack*” ./hack881663129.txt ./hack881663129_7.txt ./hack881663129_5.txt ./hack881663129_4.txt ./hack881663129_4_7.txt ./hack881663129_6.txt ./hack881663129_1_6.txt ./hack881663129_8.txt 如何打印文件详细信息,如大小,创建日期等?

使用命令行按名称查找文件

我想使用命令行确定文件的位置。 我试过了: find . -type f -name “postgis-2.0.0” 和 locate postgis-2.0.0 无济于事。 如果确定名称,确定文件目录的命令是什么?

如何更有效地使用find命令?

我想知道,有效使用find命令的最佳方法是什么? 我通常使用, find [filename] [dir] ,这给了我一长串的文件名,没有任何与我的搜索相关的文件名。 我只需要在特定目录中找到一个文件。 命令是什么?

仅在目录的指定文件名中递归搜索模式/文本?

我有一个目录(例如, abc/def/efg )有很多子目录(例如: abc/def/efg/(1..300) )。 所有这些子目录都具有公共文件(例如, file.txt )。 我想只搜索此file.txt的字符串,不包括其他文件。 我怎样才能做到这一点? 我使用grep -arin “pattern” * ,但如果我们有很多子目录和文件,它会非常慢。