免费注册 查看新帖 |

Chinaunix

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

[文本处理] awk 如何判断截取的某一个字符串为空?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-26 20:10 |只看该作者 |倒序浏览
例子:
aaaa|  |hello|world|
aaa|bbbb|ccc|ddd|

如何判断以"|"间隔的第二个字符串为空,然后打印出来?

论坛徽章:
14
15-16赛季CBA联赛之辽宁
日期:2019-06-16 15:47:3515-16赛季CBA联赛之广夏
日期:2016-08-13 21:24:352015亚冠之武里南联
日期:2015-07-07 17:37:372015亚冠之萨济拖拉机
日期:2015-07-06 17:07:482015亚冠之全北现代
日期:2015-06-04 13:54:272015亚冠之城南
日期:2015-05-21 15:43:212015年亚洲杯之伊朗
日期:2015-04-25 18:20:362015年亚洲杯之伊朗
日期:2015-04-20 16:06:052015年亚洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
2 [报告]
发表于 2014-08-26 20:32 |只看该作者
  1. <?php

  2. if(file_exists("200.txt")){

  3.   $f = fopen('200.txt','r');
  4.    while(!feof($f)){
  5.           $line = fgets($f);
  6.       $arr=explode('|', $line);
  7.       
  8.      if (strlen($arr[1]) == 0){
  9.               print $line;
  10.     }   

  11.     }
  12. }else{

  13.         echo "file is not find";
  14. }

  15. ?>
  16. 结果是
  17. aaaa||hello|world|
  18. [Finished in 0.2s]
复制代码

论坛徽章:
9
寅虎
日期:2013-12-02 12:49:22巨蟹座
日期:2014-07-18 18:13:34卯兔
日期:2014-07-25 14:43:08子鼠
日期:2014-07-26 10:10:51酉鸡
日期:2014-07-31 15:09:562015亚冠之本尤德科
日期:2015-05-19 09:27:382015亚冠之卡尔希纳萨夫
日期:2015-06-20 10:30:212015亚冠之阿尔纳斯尔
日期:2015-07-01 20:46:062015亚冠之城南
日期:2015-07-15 21:12:00
3 [报告]
发表于 2014-08-26 20:41 |只看该作者
本帖最后由 lifayi2008 于 2014-08-26 20:46 编辑
  1. awk -F'|' '$2~/ +/{print}' c.txt
复制代码

论坛徽章:
0
4 [报告]
发表于 2014-08-26 23:07 |只看该作者
  1. root@ubuntu:~/test# more file
  2. aaaa|  |hello|world|
  3. aaa|bbbb|ccc|ddd|
  4. root@ubuntu:~/test# awk -F'|' '$2<0' file
  5. aaaa|  |hello|world|
复制代码
  1. >>> import re
  2. >>>
  3. >>> def iter(f):
  4. ...     s = f.readline().strip()
  5. ...     while s:
  6. ...           yield s
  7. ...           s = f.readline().strip()
  8. ...
  9. >>> with open('file','r') as f:
  10. ...      for j in iter(f):
  11. ...          if re.search(' +',j.split('|')[1]):
  12. ...             print j
  13. ...
  14. aaaa|  |hello|world|
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
5 [报告]
发表于 2014-08-26 23:38 |只看该作者
@lifayi2008

不谨慎~
  1. awk -F\| '$2~/^ *$/'
复制代码

论坛徽章:
9
寅虎
日期:2013-12-02 12:49:22巨蟹座
日期:2014-07-18 18:13:34卯兔
日期:2014-07-25 14:43:08子鼠
日期:2014-07-26 10:10:51酉鸡
日期:2014-07-31 15:09:562015亚冠之本尤德科
日期:2015-05-19 09:27:382015亚冠之卡尔希纳萨夫
日期:2015-06-20 10:30:212015亚冠之阿尔纳斯尔
日期:2015-07-01 20:46:062015亚冠之城南
日期:2015-07-15 21:12:00
6 [报告]
发表于 2014-08-27 10:04 |只看该作者
{:2_168:} 是应该这样写,昨晚还想不通为啥 $2~/ */匹配不到呢回复 5# yestreenstars


   

论坛徽章:
0
7 [报告]
发表于 2014-08-27 10:11 |只看该作者
回复 6# lifayi2008

* 号可以代表0个,就是没空了


   

论坛徽章:
7
亥猪
日期:2013-10-10 17:00:29辰龙
日期:2013-10-12 16:23:19卯兔
日期:2013-11-18 17:01:27金牛座
日期:2014-09-09 10:17:052015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之柏太阳神
日期:2015-09-25 13:56:42数据库技术版块每日发帖之星
日期:2016-08-06 06:20:00
8 [报告]
发表于 2014-08-27 11:07 |只看该作者
  1. awk -F"|" '! $2 && $2 != 0' file
复制代码

论坛徽章:
0
9 [报告]
发表于 2014-08-27 16:18 |只看该作者
大神 awk -F '|' '{if($2~/^ *$/){print ;}}' 这个为什么改成 awk -F '|' '{if($2~/^\s*$/){print ;}}' 就不可以了?
回复 5# yestreenstars


   

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
10 [报告]
发表于 2014-08-27 16:23 |只看该作者
回复 9# tasteoftime_90

awk不支持\s
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP