首页 > 其他 > 详细

阿铭每日一题 day 3 20180113

时间:2018-01-21 12:19:32      阅读:220      评论:0      收藏:0      [点我收藏+]

 

技术分享图片

 

 

 

day3=参考答案=~ps.不是唯一答案哦
 
假设文本名字叫做1.txt,并且文本行数大于10,脚本如下

 

 1 #!/bin/bash
 2 
 3 ##先获取该文本的行数
 4 
 5 nu=`wc -l 1.txt |awk ‘{print $1}’`
 6 
 7 ##对前5行进程处理
 8 
 9 for i in `seq 1 5`
10 
11 do
12 
13 ##使用sed把每一行的内容赋值给变量
14 
15 l=`sed -n “$i”p 1.txt`
16 
17 ##用grep 判定是否匹配字母,-v取反,-q不输出内容
18 
19 if echo $l |grep -vq ‘[a-zA-Z]’
20 
21 then
22 
23 echo $l
24 
25 fi
26 
27 done
28 
29 ##对6-10行做删除字母处理
30 
31 for i in `seq 6 10`
32 
33 do
34 
35 l=`sed -n “$i”p 1.txt`
36 
37 echo $l|sed ‘s/[a-zA-Z]//g’
38 
39 done
40 
41 ##剩余的直接输出
42 
43 for i in `seq 11 $nu`
44 
45 do
46 
47 sed -n “$i”p 1.txt
48 
49 done

 

 

##若想把更改内容写入到1.txt,还需要把以上内容重定向到一个文本中,然后删除1.txt,再把刚刚重定向的文件更名为1.txt

 

阿铭每日一题 day 3 20180113

原文:https://www.cnblogs.com/ivan-yang/p/8323530.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!