使用findwith grep,可以定位匹配模式的文件:
# find | grep error
./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html
./error_log
./includes/classes/error_log
Run Code Online (Sandbox Code Playgroud)
但是,find单独使用找不到第一个文件:
# find . -name error*
./error_log
./includes/classes/error_log
Run Code Online (Sandbox Code Playgroud)
为什么不使用 with 时find找不到errors.html文件grep?如何find用于显示此文件?
目标是使用以下命令处理find *.c 文件dos2unix:
find . -name *.c | xargs dos2unix -f
Run Code Online (Sandbox Code Playgroud)
尝试对上述命令进行故障排除:
user@host:~/csim/exercise$ find . -name *.c
./6-1/dinph_3p.c
./6-1/dinph_pi.c
./9-2/lift.c
./6-4/cmptr.c
./8-7/station.c
./7-4/hire.c
./5-2/ran_test.c
./8-4/cmptrm.c
./9-5/trunked.c
./8-5/computer.c
./9-3/aloha.c
./12-3/mcpu.c
./10-5/abp_pi.c
./6-2/dinph_3p.c
./6-2/dinph_pi.c
Run Code Online (Sandbox Code Playgroud)
为什么当 BASH 上移一个目录时:
$ cd ..
Run Code Online (Sandbox Code Playgroud)
相同的命令至少不会返回上面列出的 .c 文件?
user@host:~/csim$ find . -name *.c
find: paths must precede expression: random.c
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec|time] [path...] [expression]
Run Code Online (Sandbox Code Playgroud)