在Unix / Linux中格式化文件?
发布时间:2020-12-15 21:20:57 所属栏目:安全 来源:网络整理
导读:我有一个包含国家,目录号,年份,描述和价格的文件 Kenya 563-45 1995 Heron Plover Thrush Gonolek Apalis $6.60Surinam 632-96 1982 Butterfliers $7.50Seychelles 831-34 2002 WWF Frogs set of 4 $1.40Togo 1722-25 2010 Cheetah,Zebra,Antelope $5.70 文
我有一个包含国家,目录号,年份,描述和价格的文件
Kenya 563-45 1995 Heron Plover Thrush Gonolek Apalis $6.60 Surinam 632-96 1982 Butterfliers $7.50 Seychelles 831-34 2002 WWF Frogs set of 4 $1.40 Togo 1722-25 2010 Cheetah,Zebra,Antelope $5.70 文件不由“制表符”或“:”分隔.它们之间只有空格.你能告诉我如何格式化这个文件(使用awk?),我如何从中找到总价. 解决方法
使用命令行perl:
$cat /your/file | perl -e '$sum=0; for(<STDIN>) { $sum += $1 if(/$([d.]+)/); }; print "$sumn"' 21.2 和awk(假设你在每行结尾都有美元): $cat /your/file | awk '{s+=substr($NF,2)} END{ print s}' 21.2 另外,回应评论.如果要在命令行上重新格式化: $cat /your/file | perl -e 'for(<STDIN>){@a=split /s+/; $p=pop @a; $line=join "|",($a[0],$a[1],$a[2],(join" ",@a[3..$#a]),$p); print "$linen"}' Kenya|563-45|1995|Heron Plover Thrush Gonolek Apalis|$6.60 Surinam|632-96|1982|Butterfliers|$7.50 Seychelles|831-34|2002|WWF Frogs set of 4|$1.40 Togo|1722-25|2010|Cheetah,Antelope|$5.70 如果你想要正确地做到这一点,我不是在cmd行上做的,而是编写一个正确的程序来解析它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |