Lines=(find $FILEDIRECTORY -iname "*$FILEENDING" -exec wc -l {} ;)
用户可以在他的路径和文件结尾,它应该计算每个程序有多少行。。。如果用户只是wc -l
,它会打印出我拥有的man文件,该文件的结尾是我想要的:
100
78
45
所以从每个文件的行
您可以这样使用它:
find $FILEDIRECTORY -iname "*$FILEENDING" -exec
sh -c 'for f; do wc -l < "$f"; done' _ {} +
请理解:
wc -l < file
只打印行数而不打印文件名exec
之后的+
比;
高效得多,因为find
试图在参数中传递多个文件for f
是for f in "$@"
的简写
替代解决方案:
find $FILEDIRECTORY -iname "*$FILEENDING" -exec grep -hc '^' {} +
如果+
在find
中不起作用,则使用:
find $FILEDIRECTORY -iname "*$FILEENDING" -exec grep -hc '^' {} ;