免费注册 查看新帖 |

Chinaunix

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

有如下一个文件,如果写过滤规则才能达到要求? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-06 14:06 |只看该作者 |倒序浏览
[root@linux root]# head -n 50 dir.ls
libip6t_ah.c
libip6t_ah.d
libip6t_ah.man
libip6t_ah_sh.o
libip6t_ah.so
libip6t_condition.c
libip6t_condition.man
libip6t_dst.c
libip6t_dst.d
libip6t_dst.man
libip6t_dst_sh.o
libip6t_dst.so
libip6t_esp.c
libip6t_esp.d
libip6t_esp.man
libip6t_esp_sh.o
libip6t_esp.so
libip6t_eui64.c
libip6t_eui64.d
libip6t_eui64.man
libip6t_eui64_sh.o
libip6t_eui64.so
libip6t_frag.c
libip6t_frag.d
libip6t_frag.man
libip6t_frag_sh.o
libip6t_frag.so
libip6t_fuzzy.c
libip6t_fuzzy.man
libip6t_hbh.c
libip6t_hbh.d
libip6t_hbh.man
libip6t_hbh_sh.o
libip6t_hbh.so
libip6t_hl.c
libip6t_HL.c
libip6t_hl.d
libip6t_HL.d
libip6t_hl.man
libip6t_HL.man
libip6t_hl_sh.o
libip6t_HL_sh.o
libip6t_hl.so
libip6t_HL.so
libip6t_icmpv6.c
libip6t_icmpv6.d
libip6t_icmpv6.man
libip6t_icmpv6_sh.o
libip6t_icmpv6.so
libip6t_ipv6header.c
[root@linux root]#  


要求:去掉_和它前面的部分(前缀)、去掉.和它后面的部分(扩展名)、只保留全是小写字母的行(不保留数字),然后把相同的行合并,并把所有行合并为一行,用逗号分格每个单词,应该怎么办?  

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-05-06 14:16 |只看该作者

有如下一个文件,如果写过滤规则才能达到要求?

try:
LANG=C awk -F'[_.]' '$2~/[^A-Z]/{print $2}' dir.ls | sort -u

论坛徽章:
0
3 [报告]
发表于 2005-05-06 14:50 |只看该作者

有如下一个文件,如果写过滤规则才能达到要求?

我续一个笨笨的结尾:
awk -F'[_.]' '$2~/[^A-Z]/{print $2}' dir.ls | sort -u |xargs|sed 's/[ ]/,/g'

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2005-05-06 15:41 |只看该作者

有如下一个文件,如果写过滤规则才能达到要求?

  1. cat file|sed 's/\(.*\)_\(.*\)\.\(.*\)/\2/'|sort -u|xargs|sed 's/ /,/g'
复制代码

论坛徽章:
0
5 [报告]
发表于 2005-05-06 16:43 |只看该作者

有如下一个文件,如果写过滤规则才能达到要求?

[quote]原帖由 "網中人"]rint $2}' dir.ls | sort -u[/quote 发表:


结果如下:
[root@linux root]# LANG=C awk -F'[_.]' '$2~/[^A-Z]/{print $2}' dir.ls | sort -uaccount
addrtype
ah
childlevel
comment
condition
connbytes
connlimit
connmark
connrate
conntrack
dscp
dst
dstlimit
ecn
esp
eui64
frag
fuzzy
geoip
hashlimit
hbh
helper
hl
icmp
icmpv6
.
.
.
.
.
[root@linux root]
没合并到一行

论坛徽章:
0
6 [报告]
发表于 2005-05-06 16:45 |只看该作者

有如下一个文件,如果写过滤规则才能达到要求?

[quote]原帖由 "icesummit"][/quote 发表:


结果如下:
[root@linux root]# awk -F'[_.]' '$2~/[^A-Z]/{print $2}' dir.ls | sort -u |xargs|sed 's/[ ]/,/g'
account,addrtype,ah,connmark,connrate,conntrack,eui64,frag,hashlimit,icmpv6,ipp2p,iprange,ipv4options,IPV4OPTSSTRIP,ipv6header,layer7,mac,mark,matches,quota,random,realm,standard,state,targets,u32,unclean
[root@linux root]#
为什么还有大写字母?

论坛徽章:
0
7 [报告]
发表于 2005-05-06 16:51 |只看该作者

有如下一个文件,如果写过滤规则才能达到要求?

[quote]原帖由 "mocou"][/quote 发表:


结果如下:
[root@linux root]# cat dir.ls|sed 's/\(.*\)_\(.*\)\.\(.*\)/\2/'|sort -u|xargs|sed 's/ /,/g'
account,addrtype,ah,BALANCE,childlevel,CLASSIFY,CLUSTERIP,comment,condition,connbytes,connlimit,connmark,CONNMARK,connrate,conntrack,DNAT,dscp,DSCP,dst,dstlimit,ecn,ECN,esp,eui64,frag,FTOS,fuzzy,geoip,hashlimit,hbh,helper,hl,HL,icmp,icmpv6,IPMARK,ipp2p,iprange,ipv4options,IPV4OPTSSTRIP,ipv6header,layer7,layer7.c,length,limit,LOG,mac,Makefile,mark,MARK,MASQUERADE,matches,MIRROR,mport,multiport,NETLINK,NETMAP,NOTRACK,nth,osf,owner,physdev,pkttype,pool,POOL,psd,quota,random,realm,recent,REDIRECT,REJECT,ROUTE,rpc,rt,SAME,sctp,set,SET,sh,SNAT,standard,state,string,svn-commit.tmp,targets,TARPIT,tcp,TCPLAG,tcpmss,TCPMSS,time,tos,TOS,TRACE,ttl,TTL,u32,udp,ULOG,unclean,XOR
[root@linux root]#
很多大写字母,还有断行。。。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2005-05-06 16:51 |只看该作者

有如下一个文件,如果写过滤规则才能达到要求?

要啥样效果,

论坛徽章:
0
9 [报告]
发表于 2005-05-06 16:54 |只看该作者

有如下一个文件,如果写过滤规则才能达到要求?

[quote]原帖由 "寂寞烈火"]要啥样效果, [/quote 发表:


还要合并成一行

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
10 [报告]
发表于 2005-05-06 17:12 |只看该作者

有如下一个文件,如果写过滤规则才能达到要求?

这效果
  1. cat file|grep -o '_[a-z\_].*\.'|sed 's/^_\|\.$//g'|sort -u|xargs|tr ' ' ','
复制代码

result:
ah,ah_sh,condition,dst,dst_sh,esp,esp_sh,eui64,eui64_sh,frag,frag_sh,fuzzy,hbh,hbh_sh,hl,hl_sh,icmpv6,icmpv6_sh,ipv6header,sh
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP