aboutsummaryrefslogtreecommitdiffstats
path: root/mypath/count.sh
diff options
context:
space:
mode:
Diffstat (limited to 'mypath/count.sh')
-rwxr-xr-xmypath/count.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/mypath/count.sh b/mypath/count.sh
new file mode 100755
index 0000000..5105b42
--- /dev/null
+++ b/mypath/count.sh
@@ -0,0 +1,30 @@
1#!/bin/bash
2
3count_lines() {
4 local filename=$1
5 local sum=0
6 local buf
7
8 while IFS= read -r buf; do
9 ((sum++))
10 done < "$filename"
11
12 echo "$sum"
13}
14
15extensions=("c" "tex" "cpp" "py" "h")
16sum=0
17
18for extension in "${extensions[@]}"; do
19 files=$(find . -type f -name "*.$extension")
20 for file in $files; do
21 tmp=$(count_lines "$file")
22 ((sum+=tmp))
23 echo "文件路径: $file"
24 echo "行数: $tmp"
25 echo
26 done
27done
28
29echo "总行数: $sum"
30