0

当你这样做时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
...
4

2 回答 2

2

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

于 2013-02-06T04:44:14.133 回答
0

试试这个脚本,我称之为“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"
于 2014-08-11T02:32:04.120 回答