一、程序实现步骤:
1.创建数据文件(以.txt后缀或无后缀的文件) 或 导入已有的数据文件;
2.创建shell脚本(.sh后缀的文件);
3.在shell脚本文件中使用while read 变量名 读取数据文件中的数据;
4.执行shell脚本文件;
5.使用tar压缩文件。
二、程序实现代码:
1.创建数据文件(以.txt后缀或无后缀的文件) 或 导入已有的数据文件
①创建数据文件(以.txt后缀或无后缀的文件)
touch shuju.txt 或 vim shuju.txt
建议直接使用vim shuju.txt,可直接进入编辑界面输入数据。
注意:一行一个数,不可一行多个数,因为读取文件时默认读取一行中的数。
②导入已有数据文件
点击手机qq中的文件 →→→ 选择用其他应用打开并选择Termux打开 → →→(修改名字后)点击EDIT → →→点击确定。
此时文件将会存在Termux终端的downloads文件夹中。
打开Termux→→→ 输入 :cd ~/downloads 回车 →→→ 输入 ls →→→ 即可看到downloads下的所有文件,其中一定有你刚才导入的文件。
但只文件在downloads文件夹中时,在Ubuntu并不能cd /downloads,因此需要先在Termux把downloads中的数据文件复制到在Ubuntu可以cd到的文件夹中,建议复制到 /sdcard/pictures文件夹中(cp 文件名 /sdcard/pictures),然后再在Ubuntu把刚复制到/sdcard/pictures文件夹中的数据文件复制到/home/zxxr文件夹(cp 文件名 /home/zxxr )(zxxr为我已经创建的用户文件夹)。
③导入手机中的图片或截图(.jpg)
首先要明确一点:Termux终端中可以访问手机内存中的文件。
先把手机中的照片放在手机存储中的Pictures文件夹中,因为Termux中的/sdcard/pictures文件夹对应Pictures文件夹。
接下来与导入已有数据文件的步骤相同。
补充:
查看图片的命令:(apt install termimage)
termimage 截图文件名(带后缀)
注意:此时正在截图文件所在的文件夹。
例如: termimage dog.jpg
2.创建shell脚本(.sh后缀的文件)
vim mean.sh
应注意shuju.txt与mean.sh在同一个文件夹,并对mean.sh进行增加可执行权限(chmod 777 mean.sh)。
3.在shell脚本文件中使用while read 变量名 读取数据文件中的数据;
mean.sh程序如下:
sum=0
count=0
mean=0
while read variable
do
count= ` expr $count + 1 `
echo "读取第$count个数,该数为$variable"
sum=` expr $sum + $variable `
echo "前$count个数的和为:$sum"
done < shuju.txt
echo -e " \n OK!!! \n\n "
echo " 数据总数为$count "
echo " 数据之和为$sum "
echo $sum $count | awk ` {printf("数据平均值为%.5f\n\n",$1/$2) } ` #浮点数计算并以5位小数格式输出。(注释)
补充:
改善程序(增加函数调用,文件变量,输入和输出重定向):
4.执行shell脚本文件
执行mean.sh的命令如下:
sh mean.sh
或
./mean.sh
5.压缩文件(常用命令)
①压缩文件或文件夹。
tar -czvf 压缩包的名(带.tar.gz后缀) 文件名或文件夹名
例如:tar -czvf test.tar.gz mean.sh 将mean.sh文件压缩,得到名字为test.tar.gz的压缩包
tar -czvf test.tar.gz mean 将mean文件夹压缩,得到名字为test.tar.gz的压缩包
tar -czvf test.tar.gz mean.sh shuju.txt 将mean.sh 和 shuju.txt 文件放在一起压缩,得到名字为test.tar.gz的压缩包,解压该压缩包后不会有目录,而是直接解压出mean.sh 和 shuju.txt 文件。
②解压缩
tar -xzvf 压缩包的名(带.tar.gz后缀)
三、程序实现图:
1.两个文件在同一目录下:
2.shuju.txt文件
数据可以很多,这里以两个为例:
3.mean.sh文件
4.执行mean.sh