Unix"find"命令返回路径以及它是否是文件/目录?



执行ls -la时,它会返回每个路径以及是否为文件/目录的信息:

$ ls -la
drwxr-xr-x  11 viatropos  staff   374 Jan 21 21:24 .
drwxr-xr-x  41 viatropos  staff  1394 Feb  2 00:48 ..
-rw-r--r--   1 viatropos  staff    43 Jan 21 21:23 .gitignore
-rw-r--r--   1 viatropos  staff    43 Jan 21 21:23 .npmignore
-rw-r--r--   1 viatropos  staff   647 Jan 21 21:23 README.md
-rw-r--r--   1 viatropos  staff  3069 Feb  5 20:17 index.js
drwxr-xr-x   8 viatropos  staff   272 Feb  5 20:06 node_modules
-rw-r--r--   1 viatropos  staff   291 Jan 21 21:24 package.json
drwxr-xr-x   4 viatropos  staff   136 Jan 21 21:23 test

有没有一种方法可以使用find命令(以及glob *功能)来实现这一点?那么,找到node_modules中的所有路径并让它返回路径,以及它是否是文件目录?类似于:

$ find node_modules -name 'lib/*'
d  node_modules/express/lib/
f  node_modules/express/lib/index.js
...

find ... -printf '%y %pn'怎么样?(不过,这可能是一个GNU查找扩展。)

试试这个脚本,我称它为"findfl"。"mtime"子句查找在过去3天内更改的文件。

目录将附加"/"。

#!/bin/sh
# find files produced recently, matching input pattern
[ $1 ] || { echo "Usage: findfl <file-name-pattern>" ; exit ; }
TOPDIR=/home/usr/fred     #the directory you want to search
echo "Searching $TOPDIR"
find . -mtime -3 -name *$1* 2>/dev/null | xargs -n 99 ls -lptr | sed "s! ./! $TOPDIR/!g"

相关内容

  • 没有找到相关文章

最新更新