Questions tagged «find»

用于查找文件和目录的命令行实用程序。

2
-exec缺少什么参数?
我使用以下命令清除目录和超过30天的文件和目录,然后将其移动到存档目录,如果没有人要求他们提供文件,则可以在几周后删除。目标目录按用户名具有子目录,存档目录也具有子目录。 这是我使用的命令: find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \; 我建议对此进行修改,以回答关于Ask ubuntu的问题,另一个用户编辑了代码以更改行尾\;,+因为它更快(更正确?)。看这里 但是,+如果-exec命令ls -lh不在我使用的实际命令中,则以这种方式使用可以工作。如果尝试使用,则会+收到错误消息: find: missing argument to '-exec' 我不明白为什么会这样,或者正确的命令是什么。请不要仅仅发布命令更正,我想了解而不是盲目地遵循建议。

1
如何更有效地使用find命令?
我想知道,有效使用find命令的最佳方法是什么? 我通常使用它,find [filename] [dir]这给了我很长的文件名列表,这些文件名与我的搜索都没有任何关系。 我只需要在特定目录中找到一个文件即可。这是什么命令?

1
这个“查找”命令怎么了?
我正在执行以下命令(以查找所有带有.ts扩展名的文件并删除它们): find . -type f -name "*.ts" –delete 显示错误: find: paths must precede expression: `–delete' 我做错了什么?

7
如何计算具有特定扩展名的文件及其所在目录?
我想知道.c在一个复杂的大型目录结构中有多少个常规文件具有扩展名,以及这些文件分布在多少个目录中。我想要的输出就是这两个数字。 我已经看到了有关如何获取文件数量的问题,但是我也需要知道文件所在目录的数量。 我的文件名(包括目录)可能包含任何字符;它们可以以.或开头,-并带有空格或换行符。 我可能有一些名称以结尾的.c符号链接,以及指向目录的符号链接。我不希望遵循或计数符号链接,或者我至少想知道是否以及何时对其进行计数。 目录结构具有许多级别,顶层目录(工作目录)中至少包含一个.c文件。 我匆匆在(Bash)shell中编写了一些命令来自己计算,但我认为结果不准确... shopt -s dotglob shopt -s globstar mkdir out for d in **/; do find "$d" -maxdepth 1 -type f -name "*.c" >> out/$(basename "$d") done ls -1Aq out | wc -l cat out/* | wc -l 这会输出有关重定向不明确的投诉,会丢失当前目录中的文件,并使用特殊字符触发(例如,重定向的find输出会在文件名中显示换行符),并写入一大堆空文件(哎呀)。 如何可靠地枚举我的.c文件及其包含的目录? 如果有帮助,可以使用以下命令创建带有错误名称和符号链接的测试结构: mkdir -p cfiles/{1..3}/{a..b} && cd …

5
在linux中查找文件并排除特定目录
我发现看起来像这样: rm -f crush-all.js find . -type f \( -name "*.js" ! -name "*-min*" ! -name "*console*" \) | while read line do cat "$line" >> crush-all.js echo >> crush-all.js done 我想添加一个在查找中排除名为“ test”的目录,但似乎无法弄清楚如何以某种方式添加“ -type d”。我该怎么做呢? 谢谢!
14 find 


1
如何将某些文件移到其父目录?
我想将所有意外插入到flac文件夹中的mp3放到其父文件夹中。 文件夹有多深都无所谓,我只想将匹配的文件恰好向上移动一个目录。 这是我选择文件的方式: find . -path "*/flac/*" -name '*.mp3' 这在我的音乐文件夹中有效,但是我被卡在这里。我找到的所有解决方案,要么将文件移动到当前文件夹的父目录,要么需要一些固定的结构。

2
为什么find命令在/ run /中爆炸?
我使用以下命令来检查此答案给出的python版本。除了一个错误,它确实可以工作,如下所示。谁能解释为什么? $ sudo find / -type f -executable -iname 'python*' -exec file -i '{}' \; \ | awk -F: '/x-executable; charset=binary/ {print $1}' \ | xargs readlink -f | sort -u | xargs -I % sh -c 'echo -n "%: "; % -V' 错误: find: ‘/run/user/1000/gvfs’: Permission denied
13 permissions  find 


1
外壳是否具有功能?
我读了很多的问题和答案像这个和这个 我知道通配符在运行命令之前会被外壳扩展,它们是外壳的功能。通配符也可以与那些可以接受许多参数的命令一起使用。在find . -name *.rb 我们若在当前目录多个文件find会给我们一个错误,因为发现不能接受多个参数,解决这个是方法: find . -name "*.rb" find . -name '*.rb' find . -name \*.rb 我们通过星号转义并防止shell扩展,但是通配符是shell的功能;当我们对星号外壳进行转义时,它不知道其含义,它应该找到一个名为的文件*.rb,那么在这种情况下如何扩展星号?
12 bash  find  wildcards 

5
如何防止清除/ tmp内的文件夹?
这个问题是关于我的开发人员笔记本电脑上的Ubuntu 14.10的。 我有一个文件夹/tmp,供应用程序用来在其中放置临时文件。该应用程序通常在我的homedir中创建一个临时文件夹,然后将其删除。出于某种原因,homedir加密后无法正常工作。因此,我改为/tmp/foo在我的homedir中建立了符号链接。我的应用程序可以在此处编写并使其成为临时子文件夹。 现在/tmp/foo,每次我重新启动计算机时都会被删除。到目前为止,我只是在重新启动后手动重新创建了该文件夹。现在,我在如何清理/ tmp目录中学习到了?这样做是有工作的。 我看过了,/etc/init/mounted-tmp.conf但是我的bashfu(尤其是我的findfu)不足以完成我想要的操作。这是该文件的摘录: EXCEPT='! -name . ! ( -path ./lost+found -uid 0 ) ! ( -path ./quota.user -uid 0 ) ! ( -path ./aquota.user -uid 0 ) ! ( -path ./quota.group -uid 0 ) ! ( -path ./aquota.group -uid 0 ) ! ( -path ./.journal -uid 0 …
12 bash  14.10  find 


2
在处理之前按字母顺序对文件进行排序
我使用命令 find . -type f -exec sha256sum {} \; > sha256SumOutput 散列文件夹层次结构中的每个文件。不幸的是,sha256sum没有从find字母顺序中获取文件名。如何解决? 我希望在对它们进行哈希处理之前对它们进行排序,以便按字母顺序对它们进行哈希处理(这是有原因的)。
12 find 

3
如果特定的子目录为空,则删除父目录(非空)
我必须将包含文件的所有目录保留在特定的子目录中,但要删除其余所有子目录为空的目录。 更具体地说,这里是结构: A | |--------312311 | | | |----Recording | |----a.txt | |----b.txt | | |--------453453 | |----Recording | | | |-------a.mp3 | |----a.txt | |----b.txt | | |--------566532 | |----Recording | |----a.txt | |----b.txt 子目录可以包含文件,也可以不包含文件。因此,我需要删除整个目录,例如“ 312311”和“ 566532”,并且只保留“ 453453”中的所有数据,因为它在“录制”文件夹中有一个文件,这是我的特定目录。 我看到了很多帖子,但是它链接到许多特定的文件名。任何帮助将不胜感激,因为我每周需要做很多次。

2
每天计算一个文件夹中的文件数
我可以找到文件夹中所有文件的数量,但是数量却很多。 find . -type f | wc -l #find number of files in DIR ls -lrt #list all files order by date 如何查找每天的文件数? 因此,结果应为: # left number is number of files and right is one day. 109294 2016-06-27 101555 2016-06-26 88123 2016-06-25 ... etc.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.