第二十一天(shell练习)
1 从1 + 2 ..... + 100
2 判断一个整数是不是质数
3 计算一个文件有多少行
while read val
do
#read在循环里面重定向到一个文件
done < 1.txt
4请你写一个shell脚本,计算你这段时间总共写了多少句代码
统计你的share共享文件夹里面所有的.c .h文件总共有多少行
如果你是按照我写的那个统计有多少行不行
有空白行,你需要过掉
找所有的.c .h文件
r=`find /mnt/hgfs/E/实体班/HN2502 -regex ".*/*\.[ch]"`
#循环r这个单词表就可以了 每一个单词都是一个文件
基础逻辑给你们写一个
10.sh
grep -E -c "\S" /mnt/hgfs/E/实体班/HN2502/第一阶段/正则表达式/code/regex.c
#########################################################################
# File Name: 22.sh
# Author: csgec
# mail: 12345678@qq.com
# Created Time: 2025年07月28日 星期一 15时56分27秒
#########################################################################
#!/bin/bash#1 从1 + 2 ..... + 100
#法1
a=0
sum=0
until [ $a -gt 100 ]
dosum=`expr $sum + $a`a=`expr $a + 1`
done
echo $sum
#法2
b=0
sum1=0
while [ $b -le 100 ]
do sum1=`expr $sum1 + $b`b=`expr $b + 1`
done
echo $sum1
#法3
sum2=0
for ((i=0;i<=100;i++))
dosum2=`expr $sum2 + $i`
done
echo $sum2#2 判断一个整数是不是质数
read num
for ((i=2;i<num;i++))
doif [ `expr $num % $i` -eq 0 ]thenecho "不是质数"exitfi
done
echo "是质数"#3 计算一个文件有多少行
# while read val
# do
#
# #read在循环里面重定向到一个文件
# done < 1.txt
cnt=0while read line #不用 + 1是因为read会自动从上一次读取的位置的下一行开始读取
doif [ -n "$line" ]; thencnt=`expr $cnt + 1`fi
done < 1.sh
echo "1.sh 有 $cnt 行"#请你写一个shell脚本,计算你这段时间总共写了多少句代码
# 统计你的share共享文件夹里面所有的.c .h文件总共有多少行
# 如果你是按照我写的那个统计有多少行不行
# 有空白行,你需要过掉#写个函数计算一个文件里面有多少行代码
get_lines()
{cnt=0while read linedoif [ -n "$line" ];thencnt=`expr $cnt + 1`fi done < $1echo $cnt
}
r=`find /mnt/hgfs/1_share/ -regex ".*/*\.[ch]"`cnt=0
file_cnt=0
for val in $r
do#获取一个文件里面有多少有效行echo $valn=`get_lines $val`#这里在累计行数cnt=`expr $cnt + $n`#这里在累计文件个数file_cnt=`expr $file_cnt + 1`
done
echo "总共你写了 $file_cnt 个代码"
echo "总共你写了 $cnt 行代码"