gpt4 book ai didi

linux - 在 Unix/Linux 中格式化文件?

转载 作者:IT王子 更新时间:2023-10-29 01:02:40 24 4
gpt4 key购买 nike

我有一个包含国家、目录号、年份、描述和价格的文件

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 "$sum\n"'
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 "$line\n"}'

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

如果你想正确地执行此操作,我不会在 cmd 行上执行,而是编写一个适当的程序来解析它。

关于linux - 在 Unix/Linux 中格式化文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4147463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com