免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2245 | 回复: 5
打印 上一主题 下一主题

[系统管理] 如何将文本文件中超过指定长度的行拆分为若干行,并且不能拆开单词? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-19 18:03 |只看该作者 |倒序浏览
本帖最后由 两种文化 于 2014-03-19 21:38 编辑

文本test中有若干行,每一行长度不一样,现在将长度超过2400的行拆分为多行,但是要求拆分的时候不能把单词拆开,如果要拆分的位置是单词字母的话,要从它左边附近的空格拆分。
比如某一行有3000个字符,第2391至2345内容如下:
stop startup  aaaa
那我们拆分的时候就不能把startup拆开,要在stop后面的空格拆。

论坛徽章:
0
2 [报告]
发表于 2014-03-20 12:39 |只看该作者
求大侠指导啊。

论坛徽章:
1
处女座
日期:2014-04-25 21:29:27
3 [报告]
发表于 2014-03-20 16:40 |只看该作者
回复 2# 两种文化


    我也是新手,你这问题我只有一个笨法子。
    脚本:
            /bin/bash
        abc="abcdef ghi jk lmn opq rst uvw xyz"
        echo $abc|wc -c
       
        abc1=`echo $abc|cut -c '1-20'`
        abc2=`echo $abc|cut -c '21-'`
        abc1_new=`echo $abc1|sed 's/\(.*\) /\1\n/'`
        abc_new=${abc1_new}${abc2}
       
        echo "$abc_new"

论坛徽章:
1
处女座
日期:2014-04-25 21:29:27
4 [报告]
发表于 2014-03-20 17:26 |只看该作者
回复 2# 两种文化


好像不完整,这样,重写到wenben2中


#!/bin/bash
cat wenben|while read hang
do
shu=`echo $hang|wc -c`
if [ "$shu" -ge "2400" ] ;then
        hang1=`echo $hang|cut -c '1-2400'`
        hang2=`echo $hang|cut -c '2401-'`
        hang1_new=`echo $hang1|sed 's/\(.*\) /\1\n/'`
        hang_new=${hang1_new}${hang2}
        echo "$hang_new" >> wenben_new
else
        echo "$hang" >>wenben_new
fi
done

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
5 [报告]
发表于 2014-03-20 21:22 |只看该作者
fold命令不能用?

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
6 [报告]
发表于 2014-03-21 07:52 |只看该作者
echo "ad aldkfad flad sflas dfdlas fdlas fjasdl fasdl fasdjfl daskf;ajsdfaadlfadf adlf asdlf asdf ladsf
" | sed -e 's/\(.\{1,30\}\) /\1\n/g'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP