Unix新手可以使用你的帮助。
我正在使用Solaris 10,需要查找所有文件,不包括所有隐藏的文件和目录。 最终的目标是把它放在一个能够删除服务器上超过60天的文件的脚本中。
我试过了:
找 。 ! (-name'。*'-prune)
但它根本找不到任何文件。
任何build议表示赞赏。
我相信问题在于你排除了所有名为“。*”的内容,而你正在以“。”开始search。 (这与您的排除相匹配),所以你排除了一切。 另外,我相信你正在滥用-prune标志(这是一个动作,像-print ,所以作为否定expression的一部分不一定有用)。 尝试这个:
find . \( -name '.*' \! -name '.' -prune \) -o -print
这明确包括'。' 在search,然后排除其他匹配.* 。 如果你知道你的出发点不包含任何点文件,你可以简化一下:
find * \( -name '.*' -prune \) -o -print
这应该工作:
find * | grep -v /\\.
需要find除了所有隐藏(文件和目录)以外的所有文件。
找 。 -name'[^。] *'
排除所有(隐藏文件)和目录。
找 。 -type f -name'[^。] *'
最终的目标是把它放在一个能够删除服务器上超过60天的文件的脚本中
找 。 -name'[^。] *'-mtime +59 | xargs rm -f