gpt4 book ai didi

linux - 如何使用单行 Perl 命令在 Linux 中将数据转换为列并创建 CSV 文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:37 24 4
gpt4 key购买 nike

我有类似这样的文本文件

Name : Harsha
Class : 12
Hobby : dance
Name : Nikhil
Class : 11
Hobby : sing
Name : akhil
Class :10
Hobby : Gym

如何使用 Perl -0pe command one-liner 创建包含三列的 CSV 文件 - nameclasshobby

最佳答案

这是一个例子:

perl -F'/\s*:\s*/' -E'
chomp $F[1];
/^Name/ && push @name, $F[1];
/^Class/ && push @class, $F[1];
/^Hobby/ && push @hobby, $F[1];
END {say join ",", $name[$_], $class[$_], $hobby[$_] for 0..$#name}
' input.txt

或者:

perl -nE '
($_, $v) = /^(\S+)\s*:\s*(\S+)/;
/Name/ && push @name, $v;
/Class/ && push @class, $v;
/Hobby/ && push @hobby, $v;
END {say join ",", $name[$_], $class[$_], $hobby[$_] for 0..$#name}
' input.txt

输出:

Harsha,12,dance 
Nikhil,11,sing
akhil,10,Gym

关于linux - 如何使用单行 Perl 命令在 Linux 中将数据转换为列并创建 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56968740/

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