为什么关于发现的警告很重要?

节奏墨水

我正在阅读Brian Ward的Linux的工作原理,他发出了以下警告:“在心里知道这种形式之前,请不要尝试使用-exec之类的选项” find -name file -print

到目前为止,我还不明白为什么这种形式如此重要。为什么无论目录名如何,我都不想在特定位置搜索目录。另外,在我看来,-print是默认选项,联机帮助页强烈建议使用-print0,因为某些文件名可能包含换行符。

罗伊马

作者告诫读者不要在-exec不了解find命令的结构和方法的情况下进行尝试

find -type d -print例如,您尝试不会有任何伤害注意但是,您知道运行此命令会发生什么情况find -depth -type d -exec mv {} {}.surprise \;吗?

如果您想知道会发生什么,请用mv不执行永久操作的命令替换(或补充)

find -depth -type d -exec echo mv {} {}.surprise \;

关于-print0,仅在管道内工作时才使用。(但是,当您的其他实用程序支持其NUL分隔的记录时,该功能非常有用。)如果您只想列出find输出以进行目视检查,请-print改用。


PS。当你想从已经在你的文件系统的一个重要组成部分,可以运行危险命令恢复可能运行find -depth -type d -print0 | while IFS= read -r -d '' d; do mv "$d" "${d%.surprise}"; done但是最好在安全的地方尝试/tmp

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章