Lines=(find $FILEDIRECTORY -iname "*$FILEENDING" -exec wc -l {} \;)
用户可以输入路径和文件结尾,程序会统计每个程序有多少行代码。如果用户只键入
wc -l
命令,它会输出拥有该文件结尾的文件数,但我需要的是:100
78
45
因此,从每个文件中提取出这些行。
Lines=(find $FILEDIRECTORY -iname "*$FILEENDING" -exec wc -l {} \;)
wc -l
命令,它会输出拥有该文件结尾的文件数,但我需要的是: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 '^' {} +
<code>
find $FILEDIRECTORY -iname "*$FILEENDING" -exec grep -hc '^' {} \;