[二星]格式化输出,欢迎各种脚本或者语言

除了美化之外,还可以来尝试挑战一下任务
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: ★★格式化输出,欢迎各种脚本或者语言

#31

帖子 cnkilior » 2009-09-23 14:54

我想EE的perl估计没有几个人能懂吧!!

python懂的人多一些,一叶的要比猫球的难懂。

awk的也很难懂。。。属于天书类的。

shell script就比较简单了。
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: ★★格式化输出,欢迎各种脚本或者语言

#32

帖子 roylez » 2009-09-23 14:59

死臭屁,烂大括号恶心的。

代码: 全选

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import sys
for l in open(sys.argv[1]).readlines():
    if l.strip().startswith('NAME'): name = l.strip().split('=')[1]
    if l.strip().startswith('PHONE'):   print l.strip().split('=')[1] +','+name
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: ★★格式化输出,欢迎各种脚本或者语言

#33

帖子 eexpress » 2009-09-23 14:59

晦涩的pl。只是作者思路清晰的。其实本身也清晰。

py适合大家一起写,容易懂些。

awk很强,类似c。

shell的,强在调用现有资源。
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: ★★格式化输出,欢迎各种脚本或者语言

#34

帖子 eexpress » 2009-09-23 15:03

roylez, 也没判断2个值有效。好吧。你水平高些。只是语法复杂,还不如pl容易理解了。
● 鸣学
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: ★★格式化输出,欢迎各种脚本或者语言

#35

帖子 cnkilior » 2009-09-23 15:05

eexpress 写了:晦涩的pl。只是作者思路清晰的。其实本身也清晰。

py适合大家一起写,容易懂些。

awk很强,类似c。

shell的,强在调用现有资源。
me 同意!
头像
c\nc
帖子: 231
注册时间: 2007-12-25 12:51

Re: ★★格式化输出,欢迎各种脚本或者语言

#36

帖子 c\nc » 2009-09-23 15:10

代码: 全选

sed -n -e ':y;/^NAME/{s/^NAME=//;h};n;/^PHONE/{s/^PHONE=//;H;x;s/\n/,/;p};b y' file
这算一行的不? :em04
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: ★★格式化输出,欢迎各种脚本或者语言

#37

帖子 eexpress » 2009-09-23 15:18

c\nc, 除开没判断有效性,很不错的sed了。
● 鸣学
adamscao
帖子: 117
注册时间: 2005-10-04 19:38

Re: ★★格式化输出,欢迎各种脚本或者语言

#38

帖子 adamscao » 2009-09-23 18:57

诸位都是shell,perl,awk,sed,python的高手,在惭愧中拜服 :em06
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: ★★格式化输出,欢迎各种脚本或者语言

#39

帖子 lilydjwg » 2009-09-23 19:54

竟然被忽视了
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: ★★格式化输出,欢迎各种脚本或者语言

#40

帖子 xiooli » 2009-09-23 20:29

这个题有这么麻烦吗?
bash, 三行有效代码 :em11

代码: 全选

#!/bin/bash
if [ -f "$1" ]; then
   sed '/=/!d;s/ /___/g' "$1" > /tmp/tmpfile
   . /tmp/tmpfile 2>/dev/null && [ "$NAME" -a "$PHONE" ] && echo "$NAME,$PHONE"| sed 's/___/ /g'
fi
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: ★★格式化输出,欢迎各种脚本或者语言

#41

帖子 BigSnake.NET » 2009-09-23 21:24

eexpress 写了:额。第2个没输出。球猫的也没。球猫的是管道吧,没输出。文件作参数,也是“死机”。
你那样例里只有一个...
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: ★★格式化输出,欢迎各种脚本或者语言

#42

帖子 BigSnake.NET » 2009-09-23 21:30

eexpress 写了:多谢各位研究。

残局结束了。谢谢各位让我知道,我选择了最正确的perl。

4行有效代码。

代码: 全选

● cat t.pl
#!/usr/bin/perl

while(<>){
chomp;
$name=$',next if /NAME=/;
print $name.",".$'."\n" if /PHONE=/ && $';
}
:em11
你这压根没处理多个 CONTACT 吧...
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: ★★格式化输出,欢迎各种脚本或者语言

#43

帖子 roylez » 2009-09-24 5:23

BigSnake.NET 写了:
eexpress 写了:多谢各位研究。

残局结束了。谢谢各位让我知道,我选择了最正确的perl。

4行有效代码。

代码: 全选

● cat t.pl
#!/usr/bin/perl

while(<>){
chomp;
$name=$',next if /NAME=/;
print $name.",".$'."\n" if /PHONE=/ && $';
}
:em11
你这压根没处理多个 CONTACT 吧...
4行码,没人懂……
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
头像
yaoms
帖子: 4952
注册时间: 2007-10-19 14:51
来自: 深圳

Re: ★★格式化输出,欢迎各种脚本或者语言

#44

帖子 yaoms » 2009-09-24 8:27

roylez 写了:
BigSnake.NET 写了:
eexpress 写了:多谢各位研究。

残局结束了。谢谢各位让我知道,我选择了最正确的perl。

4行有效代码。

代码: 全选

● cat t.pl
#!/usr/bin/perl

while(<>){
chomp;
$name=$',next if /NAME=/;
print $name.",".$'."\n" if /PHONE=/ && $';
}
:em11
你这压根没处理多个 CONTACT 吧...
4行码,没人懂……
ee这个如果有两个相邻的 CONTACT 并且一个有 name 一个有 phone , 会撮合到一起去吧。
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'
头像
c\nc
帖子: 231
注册时间: 2007-12-25 12:51

Re: ★★格式化输出,欢迎各种脚本或者语言

#45

帖子 c\nc » 2009-09-24 8:37

楼主的目的已经达到了,那个文件具体啥样只有他自己知道,估计是公司机密 :em04
回复