我想使用find命令对目录中包含特定关键字(关键字为“ Alpha”)的多个不同目录中的所有文件执行特殊命令,并将输出保留在以下目录的工作目录中我在其上运行命令的初始文件。
该命令的工作方式要求您提供执行该命令所需的初始文件,然后提供新转换的文件的名称。像这样
command file_to_run_command_on.txt new_file.txt
这是我的代码
find $PWD -name *.txt* -exec command {} new_file. \;
现在,它甚至可以在子目录中找到该目录中的所有文本文件,并且在我运行初始find命令的目录中仅输出一个文件。我也不确定如何在目录中添加对该关键字的其他搜索。所有建议表示赞赏!
-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
(不*.txt*
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句