如何使用find在bash脚本中忽略目录而不是其中的文件

时间:2011-02-17 02:19:37

标签: bash find grep

我想运行find命令但只查找目录中的文件,而不是目录或子目录本身。也可以接受的是找到目录但是将它们打出来或类似的东西,仍然列出那些目录中的文件。截至目前,要查找工作目录中最后一天更改的所有文件,并使用下划线替换DS_Store并替换空格:

find . -mtime -1 -type f -print | grep -v '\.DS_Store' | awk '{gsub(/ /,"_")}; 1'

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

如果你有GNU find

find . -mtime -1 ! -name '.DS_Store' -type f -printf '%f\n'

将仅打印文件的基本名称。

对于其他版本的find

find . -mtime -1 ! -name '.DS_Store' -type f -exec basename {} \;
然后你可以这样做:

find -name index.html -exec sh -c 'basename "$1" | tr " " _' _ {} \;