Questions tagged «recursive»

递归地对目录及其子目录进行操作。

2
默认情况下,grep -r在哪里搜索?
我发现如果我使用grep搜索时没有指定路径,就像grep -r 'mytext'它需要无限长的时间。同时,如果我使用指定的路径搜索,grep -r 'mytext' .它会立即找到我需要的东西。所以,我很好奇,第一种形式是grep在哪个目录中搜索? UDATE:grep版本:grep(GNU grep)2.10
16 grep  recursive 

6
如何通过压缩档案递归grep?
我试图找出use Test::Versioncpan中的哪些模块。所以我曾经minicpan镜像过。我的问题是我需要遍历下载的档案,并grep档案中的文件。谁能告诉我该怎么做?最好以某种方式告诉我档案中的哪个文件以及该文件在哪一行。 (注意:它们不是全部的tarball,有些不是zip文件)
16 grep  find  zip  recursive  archive 

2
cp的行为奇怪。(点)或..(点)是源目录
这个答案表明,可以将目录中的所有文件(包括隐藏文件)复制src到目录中,dest如下所示: mkdir dest cp -r src/. dest 答案或其注释中没有任何解释说明其为何真正起作用,并且似乎也没有人找到相关文档。 我尝试了几件事。一,正常情况: $ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file $ cp -r src dest $ ls -A dest dest_file src 然后,/.最后: $ mkdir src src/src_dir dest && touch src/src_file src/.dotfile dest/dest_file $ cp -r src/. dest $ ls -A dest …

4
递归遍历目录中的文件
通过以下方式可以轻松地递归遍历目录中的文件: find . -type f -exec bar {} \; 但是,上述方法不适用于更复杂的事情,在这些事情中,需要完成许多条件分支,循环等。我曾经在上面使用它: while read line; do [...]; done < <(find . -type f) 但是,这似乎不适用于包含晦涩字符的文件: $ touch $'a\nb' $ find . -type f ./a?b 有没有替代方法可以很好地处理此类晦涩的字符?

1
为什么inotifywatch无法检测到添加文件的更改?
我正在尝试/tmp使用inotifywatch以下方法监视文件夹中的更改: sudo inotifywatch -v -r /tmp 创建了几个文件(touch /tmp/test-1 /tmp/test-2)后,我要终止inotifywatch(按Ctrl- C,这将显示以下统计信息: Establishing watches... Setting up watch(es) on /tmp OK, /tmp is now being watched. Total of 39 watches. Finished establishing watches, now collecting statistics. total attrib close_write open create filename 8 2 2 2 2 /tmp/ 输出仅显示统计信息,而不显示我期望的文件(如here或here)。我尝试了不同类型的访问(通过cat,mktemp等),但这是同一回事。 我错过了什么?这是因为我正在使用VPS,并且某些内容受到限制吗? 操作系统:VPS上的Debian 7.3(inotify-tools)

4
递归地将文件添加到所有子目录
如何以递归方式将文件以及所有子目录添加(或触摸)到当前目录中? 例如, 我想打开这个目录树: . ├── 1 │ ├── A │ └── B ├── 2 │ └── A └── 3 ├── A └── B └── I 9 directories, 0 files 进入 . ├── 1 │ ├── A │ │ └── file │ ├── B │ │ └── file │ └── file …

2
为什么递归不随rm上升?
我想知道一般的递归方向,特别是rm。 rm递归只能向下正确吗? 运行: sudo rm -R *.QTFS将删除当前目录及其子目录中的所有* .QTFS文件,对吗? 所显示的当前目录ls -lha还包含.和..链接,表示缺少一个更好的词,那么为什么递归不在目录树中沿这些向上移动呢?是否有RM应用程序的人为限制,或.与..不实的东西呢?
13 recursive 

2
如何在多个文件上运行命令
这是非常基本的操作,我有一个文件夹,其中包含JS文件的几个子文件夹,并且我想在这些文件夹中的所有文件上运行Google的Clojure编译器。处理单个文件的命令如下: java -jar compiler.jar --js filename.js --js_output_file newfilename.js 如何修改它以在目录结构中的每个JS文件上运行?

3
找到并删除用户目录中的所有临时文件
我经常使用vim,并且我所在的区域经常发生电源故障。因此,结果是我*.swp在PC上散布了许多文件。 我想一个别名rm,要么删除所有文件的命令.swp,~,.netrwhist,.log或.bak扩展系统范围内(或至少在我的主目录)。即使我在上,该命令也应删除文件系统范围/主目录~/Desktop。 我该如何实施?

2
将所有PDF压缩到目录中,保留目录结构
我正在尝试创建一个压缩的tarball,其中包含我的目录之一中存在的所有PDF文件。目录结构需要保留。空目录不是必需的,但是我真的不在乎它们是否在那里。 例如,假设我有一个看起来像这样的目录: dir dir/subdir1 dir/subdir1/subsubdir1/song.mp3 dir/subdir2 dir/subdir2/subsubdir1 dir/subdir2/subsubdir1/document.pdf dir/subdir2/subsubdir1/another-song.mp3 dir/subdir2/subsubdir1/top-ten-movies.txt dir/subdir3 dir/subdir3/another-document.pdf 运行命令后,我希望dir.tar.gz包含以下内容: dir dir/subdir2 dir/subdir2/subsubdir1 dir/subdir2/subsubdir1/document.pdf dir/subdir3 dir/subdir3/another-document.pdf 可能?
11 find  tar  recursive 

5
如何使用重命名将所有内容递归重命名为大写
我想将所有文件和文件夹(子文件夹)递归重命名为大写。 我发现一些脚本可以将其转换为小写字母,但我不知道如何更改它们,因此它将以相反的方式(从低到高)进行转换。 我找到并使用小写字母的脚本,但我不知道如何修改: rename 'y/A-Z/a-z/' * 是来自man rename。

4
如何从递归目录中提取专门命名的文件夹,然后删除其他文件夹?
我有从解压缩zip文件获得的这种目录树: x-> y-> z-> 运行 ->文件和目录 因此,有4个目录,其中3个没有文件(x,y,z),仅包含1个子目录,还有一个我感兴趣的目录,名为“ run ”。 我想将“运行”目录本身(包括其中的所有内容)移动到我解压缩的“根”位置(即“ x”所在的位置,但不在“ x”内部)。 假设:存在一个名为“ run”的文件夹,但我不知道要进入“ cd”目录必须有多少个目录(可以是3(x,y,z),可以是10个或更多)。也是未知的,不必是x,y,z等)。 我该怎么做?我尝试了这个问题的许多变体,但都失败了。

2
处理从find命令通过管道传输的文件名
我是Bash的新手,正在尝试做一些表面上看起来很简单的事情-在目录层次结构上运行find以获取所有* .wma文件,将输出管道传输到命令,然后将它们转换为mp3并将转换后的文件另存为.mp3。我的想法是该命令应如下所示(我不再使用音频转换命令,而是使用echo作为示例): $ find ./ -name '*.wma' -type f -print0 | xargs -0 -I f echo ${f%.*}.mp3 据我了解,-print0 arg将允许我处理具有空格的文件名(其中许多文件是音乐文件)。然后,我期待(由于xargs的原因)find中的每个文件路径都在f中捕获,并且使用子字符串match / delete从字符串末尾开始,我应该用mp3回显原始文件路径扩展名而不是wma。但是,我看到的不是这个结果,而是: *.mp3 *.mp3 *.mp3 *.mp3 *.mp3 *.mp3 *.mp3 *.mp3 *.mp3 ... 所以我的问题(除了特定的“我在这里做错了什么”之外)是吗?在字符串操作操作中,是否需要对管道操作结果所产生的值与变量赋值所导致的值进行不同的处理? ?

4
仅在子目录内的特定文件中查找字符串
假设我需要GetTypes()在所有C#源文件(.cs)的目录/子目录中找到该函数。 我曾经用过grep -rn GetTypes *.cs,但是却遇到了一个错误grep: *.cs: No such file or directory。我不得不使用grep -rn GetTypes *,但是在这种情况下,它不仅显示了所有文件*.cs。 我需要使用什么命令才能仅在.cs文件中查找字符串?

5
使用单个内置命令在跨子目录的文件中查找子字符串?
在Windows中,如果我想在所有子目录中的所有文件中找到一个字符串,我会做类似的事情 findstr /C:"the string" /S *.h 但是,在Linux(例如,Ubuntu)中,除了找到涉及,和的管道命令外find,我别无其他方法(此页为示例:如何通过子目录递归grep?)。但是,我的问题就不同了:是否有任何内置命令可以通过这种魔术工作而无需编写我的shell脚本?xargsgrep
10 linux  grep  find  recursive 

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.