免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: oldknew
打印 上一主题 下一主题

[文本处理] 求如何打印任意文本正中间行 [复制链接]

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
11 [报告]
发表于 2016-04-21 11:00 |只看该作者
python get_middle_line.py your_file
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. __author__ = 'shengwei ma'
  4. '''http://bbs.chinaunix.net/thread-4243379-1-1.html'''

  5. import os
  6. import sys

  7. input1 = os.path.abspath(sys.argv[1])
  8. with open(input1, 'r') as f:
  9.     lines = f.readlines()
  10.     print lines
  11.     total_lines = len(lines)
  12.     if total_lines % 2 == 0:
  13.         print lines[int(total_lines / 2 - 1)] + lines[int(total_lines / 2)]
  14.     else:
  15.         print lines[int(total_lines / 2)]
复制代码

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-09-07 06:20:00程序设计版块每日发帖之星
日期:2015-09-07 06:20:00
12 [报告]
发表于 2016-04-21 12:38 |只看该作者
  1. #!/bin/sh
  2. Line=$(wc -l $1|awk '{print $1}')
  3. if [ $(($Line % 2)) -eq 0 ];then
  4.   head -n $(($Line/2+1)) $1 | tail -n 2
  5. else
  6.   head -n $((`expr $Line + 1`/2)) $1 | tail -n 1
  7. fi
复制代码

论坛徽章:
1
2015亚冠之萨济拖拉机
日期:2015-09-04 10:29:22
13 [报告]
发表于 2016-04-21 13:23 |只看该作者
cat tt2 | tr "\n" " " | awk 'NF%2==0{print $(NF/2),$(NF/2+1)}NF%2!=0{print $(NF/2+1)}' | tr " " "\n"

这样应该可以吧,试试

论坛徽章:
5
数据库技术版块每日发帖之星
日期:2015-08-01 06:20:00数据库技术版块每日发帖之星
日期:2015-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-01-11 06:20:00数据库技术版块每日发帖之星
日期:2016-01-22 06:20:00程序设计版块每日发帖之星
日期:2016-05-09 06:20:00
14 [报告]
发表于 2016-05-04 11:12 |只看该作者
awk '{a[NR]=$2;}END{if(NR%2)print a[(NR+1)/2];else print a[NR/2]"\n"a[NR/2+1]}' urfile

论坛徽章:
0
15 [报告]
发表于 2016-05-04 18:09 |只看该作者
#!/bin/bash
cp $1 1.txt
while [ true ]
do
    linenum=`sed -n '$=' 1.txt`
    if [ $linenum -lt 3 ]
    then
    break
    fi
    sed -i '1d;$d' 1.txt
done
cat 1.txt
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP