在目录中具有特定文件夹名称的所有文件上查找并执行命令

时间:2018-10-26 21:57:12

标签: bash shell find

我想使用find命令在目录中包含特定关键字(关键字为“ Alpha”)的多个不同目录中的所有文件上执行特殊命令,并将输出保留在我在其上运行命令的初始文件的工作目录。

该命令的工作方式要求您提供执行该命令所需的初始文件,然后提供新转换的文件的名称。像这样

command file_to_run_command_on.txt new_file.txt

这是我的代码

find $PWD -name *.txt* -exec command {} new_file. \;

现在,它甚至可以在子目录中找到该目录中的所有文本文件,并在我运行初始find命令的目录中仅输出一个文件。我也不确定如何在目录中添加对该关键字的其他搜索。所有建议表示赞赏!

1 个答案:

答案 0 :(得分:4)

const date1 = new Date("04-07-2018").getTime(); date1; // 1523084400000 在您启动-exec的目录中运行命令。

find在匹配文件的目录中运行命令。

要仅查找其父项包含特定文件的-execdir个文件,可以使用:

*.txt*

这将为find "$PWD" -path "*keyword*/*.txt*" -execdir command {} new_file \; 运行命令,但不会为foo/bar/some-keyword-dir/baz/etc/file.txts(父目录名称中没有关键字)或foo/bar/baz/file.txts(不是foo/bar/some-keyword-dir/baz/file.tar)运行命令