gpt4 book ai didi

linux - 在 shell 中将行转换为列

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:35 27 4
gpt4 key购买 nike

我需要在多个文件中转换以下内容。文本不必相同,但格式和长度必须相同

文件 1:

XXXxx81511
XXX is Present
abcdefg
07/09/2014
YES
1
XXX
XXX-XXXX

文件 2:

XXXxx81511
XXX is Present
abcdefg
07/09/2014
YES
1
XXX
XXX-XXXX

XXXxx81511,XXX is Present,abcdefg,07/09/2014,YES,1,XXXXXX-XXXX

XXXxx81511,XXX is Present,abcdefg,07/09/2014,YES,1,XXXXXX-XXXX

基本上将行转换为列并附加到新文件,同时添加逗号分隔它们。

我正在尝试 cat 文件名 | tr '\n' ',' 但结果会添加到同一行中。像这样

XXXxx81511,XXX 存在,abcdefg,07/09/2014,YES,1,XXXXXX-XXXX,XXXxx81511,XXX 存在,abcdefg,07/09/2014,YES,1,XXXXXX-XXXX

最佳答案

使用:

paste -sd, file1 file2 .... fileN
#e.g.
paste -sd, *.txt file*

打印

XXXxx81511,XXX is Present,abcdefg,07/09/2014,YES,1,XXX,XXX-XXXX
XXXxx81511,XXX is Present,abcdefg,07/09/2014,YES,1,XXX,XXX-XXXX

如果你需要在每一个之后空行

paste -sd, file* | sed G

打印

XXXxx81511,XXX is Present,abcdefg,07/09/2014,YES,1,XXX,XXX-XXXX

XXXxx81511,XXX is Present,abcdefg,07/09/2014,YES,1,XXX,XXX-XXXX

简短的 perl 变体:

perl -pe 'eof||s|$/|,|' files....

关于linux - 在 shell 中将行转换为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25970506/

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