标签: find

批处理运行 mogrify 包括子目录

该命令mogrify -format jpg *.NEF在目录中运行时会将所有*.NEF文件转换为 JPEG。我想要做的是能够使用一个命令在子目录内的*.NEF文件中运行 mogrify 。我正在尝试运行类似的东西:

find . -type d exec mogrify -format jpg *.NEF \;
Run Code Online (Sandbox Code Playgroud)

当然它不起作用。有人可以建议正确的命令吗?

linux command-line find exec

14
推荐指数
1
解决办法
8592
查看次数

如何使用 Notepad++ 查找和替换多个文件中的行?

我现在一直在使用记事本++,并且对如何执行此操作感到困惑:

我正在搜索的多个文件(在根目录中)中有一行。例子:

Brittany (File 1)
     PeopleSleptWith 2
Tiffany (File 2)
     PeopleSleptWith 4
Bonqueesh (File 3)
     PeopleSleptWith 3456
.
.
.
Run Code Online (Sandbox Code Playgroud)

我的目标是PeopleSleptWith用常量 (IE PeopleSleptWith 7)替换所有行,但是当我在多个文件中搜索和替换时,它不会删除完整的行,从而导致:

Brittany (File 1)
     PeopleSleptWith 7 2
Tiffany (File 2)
     PeopleSleptWith 7 4
Bonqueesh (File 3)
     PeopleSleptWith 7 3456
Run Code Online (Sandbox Code Playgroud)

在现实中我想要:

Brittany (File 1)
     PeopleSleptWith 7
Tiffany (File 2)
     PeopleSleptWith 7
Bonqueesh (File 3)
     PeopleSleptWith 7
Run Code Online (Sandbox Code Playgroud)

那么我如何继续寻找一个字符串,删除该行中的所有内容,并用另一个字符串替换它呢?

notepad++ find find-and-replace

14
推荐指数
1
解决办法
4万
查看次数

查找所有包含某个字符的目录并打印出来

我需要找到名称中包含某个字符的所有目录并将它们打印出来。

所以如果我有目录:

abc cde fgh
Run Code Online (Sandbox Code Playgroud)

我搜索“c”我应该得到:

abc 
cde
Run Code Online (Sandbox Code Playgroud)

bash find

14
推荐指数
1
解决办法
4万
查看次数

Linux“查找”实用程序中的广度优先选项?

Linux“查找”实用程序中是否有任何广度优先/深度优先选项?

linux find

13
推荐指数
1
解决办法
3260
查看次数

如何获取在 OS X 中按修改日期排序的命令行“查找”找到的文件?

使用 Mac OS X 终端,如何编写find按修改日期(最近在前)对结果进行排序的命令?

已经有类似的问题,但它们指的是GNUfind和POSIX,但我不知道Mac OS X是GNU还是POSIX还是其他什么。

terminal find macos

13
推荐指数
1
解决办法
9917
查看次数

是否可以通过 IP 地址找到打印机在建筑物中的物理位置?

我所在的学校大概有 200 多台电脑,我在一定范围内进行了 IP 扫描,发现了三四台打印机。我想知道是否有可能在学校找到这些打印机,或者通过使用它们周围的其他计算机并检查它们的 IP 地址,并通过这种方式缩小范围,或者是否有可能使用类似的方法来映射网络NMap,除了我没有必要的权限来安装这样的程序的一部分。

我只是好奇这是否可以完成,任何帮助将不胜感激。

networking printer network-printer ip find

13
推荐指数
5
解决办法
1万
查看次数

如何使用-printf在查找中去掉小数秒?

我正在运行此 shell 命令以获取在我的服务器上修改的最新 20 个 PHP 文件。

find . -name '*.php' -printf '%TY-%Tm-%Td %TH:%TM:%TS %Tz %p\n' | sort -r | head -20
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

2016-08-08 01:44:45.3820716170 -0700 ./html/index.php
2016-08-07 05:39:29.0000000000 -0700 ./html/thumb.php
2016-08-07 03:01:44.0000000000 -0700 ./html/paths.php
...
Run Code Online (Sandbox Code Playgroud)

根据strftime 手册页,我应该能够使用 %S(和 %TS)

%S

第二个是十进制数(范围 00 到 60)。(范围最大为 60,以允许偶尔出现闰秒。)

可能有问题find,但其他时间参数按预期工作。我正在尝试获得如下结果。如果额外的字符串实际上是小数秒,则四舍五入或截断都可以。如何才能做到这一点?

2016-08-08 01:44:45 -0700 ./html/index.php
2016-08-07 05:39:29 -0700 ./html/thumb.php
2016-08-07 03:01:44 -0700 ./html/paths.php
...
Run Code Online (Sandbox Code Playgroud)

(如果有更有效的方法来执行上述命令的操作,我会全力以赴。)

linux date-time find

13
推荐指数
1
解决办法
1673
查看次数

使 BASH 脚本 `for` 处理带有空格的文件名(或解决方法)

虽然我已经使用 BASH 好几年了,但我在 BASH 脚本方面的经验相对有限。

我的代码如下。它应该从当前目录中获取整个目录结构并将其复制到$OUTDIR.

for DIR in `find . -type d -printf "\"%P\"\040"`
do
  echo mkdir -p \"${OUTPATH}${DIR}\"        # Using echo for debug; working script will simply execute mkdir
  echo Created $DIR
done
Run Code Online (Sandbox Code Playgroud)

问题是,这是我的文件结构示例:

$ ls
Expect The Impossible-Stellar Kart
Five Iron Frenzy - Cheeses...
Five Score and Seven Years Ago-Relient K
Hello-After Edmund
I Will Go-Starfield
Learning to Breathe-Switchfoot
MMHMM-Relient K
Run Code Online (Sandbox Code Playgroud)

请注意空格 :-S 并for逐字接受参数,因此我的脚本输出如下所示:

Creating directory structure...
mkdir -p "/myfiles/multimedia/samjmusicmp3test/Learning"
Created Learning
mkdir …
Run Code Online (Sandbox Code Playgroud)

bash find filenames

12
推荐指数
3
解决办法
2万
查看次数

如何物理重新排序目录中的文件`03.mp3 01.mp3 02.mp3`(`ls -f`)?

当我将文件复制到我的 U 盘并在车载 mp3 播放器中收听时,文件的物理顺序很重要。我的大部分音乐专辑文件夹都是未分类的,例如ls -f可能会产生:
03.song3.mp3
01.song1.mp3
02.song2.mp3

当我将该文件夹复制到我的 USB 记忆棒上时,文件将按顺序复制。我的车载 mp3 播放器以未排序的顺序显示文件,这不是我想要的。我随后可以对 U 盘上的文件重新排序(请参阅:如何重新排序文件夹?(如 `ls -U` 中所示)),但如果我可以在我的硬盘驱动器上的该目录中重新排序它们,则可以完全避免这种情况(ext4 )?有没有办法做到这一点?

(否则,可能有一种编写find命令的方法,即获取文件,对它们进行排序,然后按顺序复制它们??)有什么建议吗?

linux ls find

12
推荐指数
1
解决办法
4749
查看次数

当文件名中有空格时,如何解析 find 命令的输出?

使用循环,例如

for i in `find . -name \*.txt` 
Run Code Online (Sandbox Code Playgroud)

如果某些文件名中有空格,则会中断。

我可以使用什么技术来避免这个问题?

linux find

12
推荐指数
2
解决办法
1万
查看次数