批处理查找字符数最多的文本行-shell

xiaoxiao2021-02-28  70

批处理查找字符数最多的文本行-shell

有文本3.txt如下:

aaaaaaa aaaa bbbbbb ccccccccccc dddd aa aaaaaaa bbbbbbbb cccccccccc ddddddddddddd eeeeeee aaaaaaaaaaaa bbbbbbbbbbb cccccccccccccccccccc aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aa aaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbb aaaaaaaaa ccccccccc bbbbbbbbbbbbb ddddddddddddddddd

通过批处理查找出文本中字符数(不含空格)最多的行并输出,很明显就是复制内容到剪贴板代码:

aaaaaaaaa ccccccccc bbbbbbbbbbbbb ddddddddddddddddd

编写代码

#! /bin/bash # 保存最大长度 rowLen=0 # 保存需要输出的字符串 printStr= while read line do # 记住去掉空格之前的字符串 saveLine=${line} # 去掉空格 line=${line// /} # 统计字符串个数 len=${#line} # 判断当前行是不是最多字符数 if [ ${len} -gt ${rowLen} ] then rowLen=${len} printStr=${saveLine} fi done < ./3.txt # 输出最大字符串数 echo ${printStr}

运行结果

主要思路

1.读取文件,输出每一行2.处理具体某一行2.1 将空格去掉2.2 统计字符串字符数 3.找出最大行数

具体逻辑参考代码注释

参考文档

文件读取:http://www.cnblogs.com/iloveyoucc/archive/2012/07/10/2585529.html 关系运算符:http://www.runoob.com/linux/linux-shell-basic-operators.html shell变量里的字符替换:http://blog.csdn.net/augusdi/article/details/41010041

测试

1.测试当前文件

2.更改最大字符串行数

转载请注明原文地址: https://www.6miu.com/read-77426.html

最新回复(0)