免费注册 查看新帖 |

Chinaunix

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

bash脚本生成文件怎么写 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-10-27 22:17 |只看该作者

  1. #!/usr/bin/perl -w
  2. open A,">a.txt";
  3. open B,">b.txt";
  4. while(<>){
  5.        if(/(23|7)\d+?(3|7)$/){
  6.               print  A $_;
  7.       else
  8.               print  B $_;
  9.      }
  10. }
复制代码


不知道对不对哈,反正是文不对题,呵呵。

[ 本帖最后由 kilior 于 2009-10-28 01:13 编辑 ]

论坛徽章:
0
22 [报告]
发表于 2009-10-27 23:24 |只看该作者
echo "12323123213237" | grep -P "(23|7)*(3|7)$"
12323123213237

论坛徽章:
0
23 [报告]
发表于 2009-10-27 23:54 |只看该作者
grep -v -e '\(23\|7\)*\(3\|7\)$' cardno.txt > b.txt
grep -e '\(23\|7\)*\(3\|7\)$' cardno.txt > a.txt

论坛徽章:
0
24 [报告]
发表于 2009-10-28 15:11 |只看该作者

回复 #4 王白宝 的帖子

#!/bin/sh
if  [ $# -ne 1 ];then
  echo "`basename $0`:you can only input one parameter!"
  exit 1
fi
grep "23" $1 |grep "7" | grep '.................3' > 3.txt
grep "23" $1 |grep "7" | grep '.................7' > 7.txt

这里用到了你的cardno.txt文件中卡号定长的特点('...共17个点')
本人是正在学习中,不知这样是否正确,请多指教

论坛徽章:
0
25 [报告]
发表于 2009-10-28 15:45 |只看该作者

回复 #1 王白宝 的帖子

呵呵,不好意思,刚没看清楚题目,改一下
grep "23" $1 | grep "7" | grep '.................3' > a.txt
grep "23" $1 | grep "7" | grep '.................7' >>a.txt
b.txt暂时还没有实现

论坛徽章:
0
26 [报告]
发表于 2009-10-28 15:48 |只看该作者

回复 #1 王白宝 的帖子

呵呵  不好意思,刚没有看清楚题目,改一下
grep "23" $1 | grep "7" | grep '.................3' > a.txt
grep "23" $1 | grep "7" | grep '.................7' >> a.txt
b.txt暂时还没有实现
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP