Articles of find

清空文件是不是在寻找工作

我想清空超过30 MB大小的文件。 我试图用find命令来解决这个问题。 find . -maxdepth 1 -size +32M -exec cat /dev/null > {} \; 和 find . -maxdepth 1 -size +32M -exec echo -n > '{}' \; 但是这两个命令都不会清空文件。而是创build一个文件。 为什么它不清空文件? 为什么它会创build一个名为{} ?的文件。 find命令有什么问题?

GNU并行的“find”和“ls”

我正在尝试使用GNU parallel将大量文件发布到Web服务器。 在我的目录中,我有一些文件: file1.xml file2.xml 我有一个如下所示的shell脚本: #! /usr/bin/env bash CMD="curl -X POST -d@$1 http://server/path" eval $CMD 脚本中还有一些其他的东西,但这是最简单的例子。 我试图执行以下命令: ls | parallel -j2 script.sh {} 这是GNU parallel页面显示的“正常”方式来操作目录中的文件。 这似乎将文件的名称传递到我的脚本,但curl抱怨说,它不能加载传入的数据文件。但是,如果我这样做: find . -name '*.xml' | parallel -j2 script.sh {} 它工作正常。 ls和find是如何将parameter passing给我的脚本的? 或者我需要在脚本中另外做些什么?

使用排除列表查找在bash中查找的目录

现在,在你认为“之前已经完成”的情况下,请继续阅读。 和大多数试图findbash脚本的人一样,你最终将脚本硬编码为一行命令,但最终会在接下来的几个月/几年里编辑这个东西,所以你最终希望你做对了第一次。 我正在编写一个小的备份程序来做备份目录,并且需要find它们,而不是需要排除的directorie列表。 说起来容易做起来难。 让我来设置舞台: #!/bin/bash BasePath="/home/adesso/baldar" declare -a Iggy Iggy=( "/cgi-bin" "/tmp" "/test" "/html" "/icons" ) IggySubdomains=$(printf ",%s" "${Iggy[@]}") IggySubdomains=${IggySubdomains:1} echo $IggySubdomains exit 0 现在在这个结尾你得到/ cgi-bin,/ tmp,/ test,/ html,/图标这certificate了这个概念的作用,但现在需要进一步我需要使用find来searchBasePath并search只有一个级别的所有子目录,并排除列表中的子目录… 如果我手工input它将是: find /var/www/* \( -path '*/cgi-bin' -o -path '*/tmp' -o -path '*/test' -o -path '*/html' -o -path '*/icons' \) -prune -type d 我应该也许想循环到每个子目录,并做同样的事情…我希望你明白我的观点。 所以我试图做的似乎是可能的,但我有一个问题, printf“,%s”不喜欢我使用所有这些发现-path或-o选项。 […]

如何查找除名字以外的文件?

我有一个dir: BLA-BLA-bla1.tar.7z BLA-BLA-bla2.tar.7z BLA-BLA-bla3.tar.7z _bla-BLA-bla_foo.tar.7z 我需要find并删除“ .7z”以外的所有文件“.7z” 我用find / backups / -name“* .7z”-type f -mtime +180 -delete 我怎么能做到这一点?

Linux将文件重命名为dirname

我有很多像这样的文件: ./1/wwuhw.mp3 ./2/nweiewe.mp3 ./3/iwqjoiw.mp3 ./4/ncionw.MP3 ./5/joiwqfm.wmv ./6/jqoifiew.WMV 我怎么能在Linux Bash中像这样重命名它们: ./1/1.mp3 ./2/2.mp3 ./3/3.mp3 ./4/4.MP3 ./5/5.wmv ./6/6.WMV

Nagios插件检查文件是在x分钟内创build的

我试图将一个bash脚本转换成nagios插件 该脚本将运行一个find命令来查看是否在x分钟内创build了文件: #!/bin/bash # #Check NVR newfiles=$(find /srv/unifi-video/videos/* -name '*.ts' -mmin -10 | wc -l) if [[ $newfiles -eq 0 ]] ; then echo "!!!WARNING!!! The NVR has System stopped recording." fi 我试图把这个脚本转换成一个Nagios插件: #!/bin/bash # #Check NVR #http://www.netchester.com #Check if NVR System is recording correctly newfiles=$(find /srv/unifi-video/videos/* -name '*.ts' -mmin -10 | wc -l) case […]

在linux中查找string并replace行

我想要做到以下几点,但我似乎无法find一个优雅的方式来做到这一点。 我有一个如下所示的文本文件: ..more values stuff = 23 volume = -15 autostart = 12 more values.. 现在“音量”值可能会根据情况而改变。 我需要一个脚本,可以find“volume = xxx”的文本行,然后用“volume = 0”行replace它。 什么是这个优雅的解决scheme? 文中的这一行不能保证是第一行,所以我需要先find它的方法。

如何recursion删除具有不同扩展名的多个文件?

我正试图编写一个命令,从当前目录及其所有相关的子目录recursion地删除具有不同扩展名(* .extension1,* .extension2等)的几个文件。 到目前为止,我从另一篇文章中得到了这个命令,但是我不能在同一个命令行中修改多个文件。 find . -name "*.extension1" -type f -delete 是否如下简单? find . -name "*.extension1";"*.extension2" -type f -delete 正如一个侧面说明 ,这些都是我不需要的输出文件,但不是所有的都必须始终输出,所以一些扩展可能不存在。 这只是一般的清理命令。

在Linux文件系统上查找非UTF8文件名

O / S = Fedora Code 9。 我有一些隐藏在我的LANG = en_US:UTF-8文件系统中的文件,这些文件系统已经被上传了无法识别的文件名。 我需要search文件系统并返回至less有一个字符不在标准范围内的所有文件名(a-zA-Z0-9和。-_等) 我一直在试图追随,但没有运气。 find . | egrep [^a-zA-Z0-9_\.\/\-\s] 所有的build议将受到欢迎。 干杯, AP。

我怎样才能find一个文件/目录,可以在任何地方在Linux命令行?

理想情况下,我可以使用类似的程序 find [file or directory name] 报告具有匹配的文件名/目录的path。 不幸的是,这似乎只检查当前目录,而不是整个文件夹。 我也试过find和哪个,但没有find该文件,即使我知道它在电脑上的某个地方。