gpt4 book ai didi

csv - (sed/awk) 如何将字段分隔(如 csv)文件转换为具有固定大小的制表符分隔列的 txt?

转载 作者:行者123 更新时间:2023-12-01 06:56:42 24 4
gpt4 key购买 nike

我有一个类似于 csv 文件的东西,其中的字段分隔符是“@”。

身份证@姓名@姓氏@年龄@职业@地址

1254343123@John@Smith@24@Engineer@Washington23@Alexander@Kristofferson-Brown@Economic Advisor@Kent...

I want to convert it into something more human-readable as in:

1254343123    John        Smith                  24    Engineer            Washington23            Alexander   Kristofferson-Brown    35    Economic Advisor    Kent

...where each column stars at a specific character.

I have tried something that takes advantage of the TAB-size value and adds several TABs to the field:

sed -e "{/@[^@]\{32,\}@/s/@\([^@]*\)@/\t\1\t/g};{/@[^@]\{24,31\}@/s/@\([^@]*\)@/\t\1\t/g};{/@[^@]\{16,23\}@/s/@\([^@]*\)@/\t\1\t\t/g};{/@[^@]\{8,15\}@/s/@\([^@]*\)@/\t\1\t\t/g};{/@[^@]\{2,7\}@/s/@\([^@]*\)@/\t\1\t\t\t/g}"

...这并不适用于所有情况。

有人可以给我一个关于如何进行的提示吗?

PS:我的目的是主要使用 sed(单行),或者如果 sed 不削减它,awk 就可以了。

最佳答案

BSD、Mac OS X 和 Linux 有 column为此命令:

column -t -s@

但是它会产生空格,而不是制表符(它应该会产生,因为制表符已经过时了)。输出:
1254343123  John       Smith                24  Engineer          Washington
23 Alexander Kristofferson-Brown 35 Economic Advisor Kent

关于csv - (sed/awk) 如何将字段分隔(如 csv)文件转换为具有固定大小的制表符分隔列的 txt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4596719/

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