linux编写脚本写入文件指定行,在Ubuntu 18.04中编写shell脚本读取文件的方法

本文介绍在Ubuntu 18.04系统中编写shell脚本读取文件的方法。需求功能:从文件中读取每一行显示、统计总行数、在shell运行过程中指定文件。

一、shell初体验

1、在想要保存文件的目录中打开终端,利用vim创建一个名为helloshell的文件:

sudo vim helloshell

2、输入以下代码:

#!/bin/bash

echo "Hello World!"

第一行标志这是一个shell脚本文件,第二行输出“Hello World!”,然后:wq保存退出。

3、修改文件权限(777表示所有用户可读写可执行):

sudo chmod 777 helloshell

4、运行:

bash helloshell或./helloshell

全部过程如下图:

a9375edddd94c00dd870b05f3e609cea.png

二、读取文件

1、创建测试用例文件text:

cafec518ebf80052c043c9d5cfaed9c0.png

2、创建shell脚本:

05f364575ec3261d638c8a7fdd6d9357.png

3、运行结果:

b7390f4ac0cdc4911b805667c81bd14d.png

三、输出行数

1、利用awk 'END{print NR}' [文件名]来输出行数:

9dc4525380f418ea2f8bb594f2df622c.png

2、在shell脚本中添加该功能:

5b10cd3c854084e135bfeaaebce4c1a7.png

3、运行结果:

f70bb0964ab4983552940fabefbdc8c2.png

四、指定文件

上面的shell文件只是把文件名写定在脚本中,并没有实际使用意义,所以需要编写一个指令来指定需要读取的文件,就像vim [文件名]一样,参考玩转Linux必备的Vim技能,一文读懂Vim的安装和配置,学习之法。

“$1”代表第1个参数,也就是在read之后紧跟的参数,将其作为文件名传入:

cc7470e969343a7916c6cb7863c664df.png

另外,这里使用echo -n ""不换行打印了行数:以便区分。

五、全局命令

将脚本移动至环境变量对应的目录中(可以自己更改/bin/xxx来决定运行命令的名称,但注意不能重复):

sudo mv read /bin/read

然后添加运行权限:

sudo chmod 755 /bin/read

最终效果

打开终端的目录可以是任何位置,通过以下命令即可运行shell脚本:

sudo read [文件路径]

21bdbcb3e4797126fc8b80a9f1c0a223.png

同理,我们还可以自己为复杂指令编写shell脚本,来提高命令的使用效率,例如开关ss服务,打开锐捷客户端认证等等。

相关主题

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值