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

来源:互联网 发布:电信软件 编辑:程序博客网 时间:2024/06/06 12:53

批处理查找字符数最多的文本行-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 linedo        # 记住去掉空格之前的字符串        saveLine=${line}        # 去掉空格        line=${line// /}        # 统计字符串个数        len=${#line}        # 判断当前行是不是最多字符数        if [ ${len} -gt ${rowLen} ]        then                rowLen=${len}                printStr=${saveLine}        fidone < ./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.更改最大字符串行数

阅读全文
0 0
原创粉丝点击