基础篇-脚本题(3)-创新互联

问题:

10年的响水网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整响水建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“响水网站设计”,“响水网站推广”以来,每个客户项目都认真落实执行。

[root@base tmp]# cat ent.txt

1

2

3

4

5

6

7

8

9

10

要求输出结果:1+2+3+4+5+6+7+8+9+10+=55

最好使用tr命令打印出

分析题后,想到最简单的解法就是循环拼接打印结果:

#!/bin/sh

NumArray=($(cat /tmp/ent.txt | awk '{print $1}'))

result="1"

all=1

for((i=1;i<${#NumArray[*]};i++))

do

result="$result+${NumArray[$i]}"

all=$((${NumArray[$i]}+$all))

done

echo $result=$all

看过老男孩老师的答案,才叫拜服,很是简单:

cat ent.txt | tr "\n" "+" | sed 's/\+$/\n/' 直接用tr将"\n"替换为"+",然后sed替换最后一个"+"

cat ent.txt |tr "\n" "+"|sed 's/\+$/\n/'|bc 一个|bc就可以将字符串表达式,转换成算术表达式

python实现:

# coding: utf-8
importsys
fromitertools importgroupby

defdemo(ListFile):
reList = []
files = file(ListFile,'r')
lines = files.readlines()
str_list = "1"
result=0
foritem inlines:
rLIst = item.replace("\n","")
reList.append(rLIst)
ifint(rLIst) > 1:
str_list = str(str_list)+"+"+str(rLIst)
result = result + int(rLIst)

return "%s=%d"%(str_list,result)
if__name__ == "__main__":
printdemo("/tmp/ent.txt")

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:基础篇-脚本题(3)-创新互联
网址分享:http://scyanting.com/article/dsjsgp.html