如何在不创建新文件的情况下将多个文件中的垂直数据转换为逗号分隔

How to convert vertical data in multiple file to comma separated without creating new file

我被它困住了,不知道如何继续它

我有一个文件夹叫做:demo

因为它们有n个文件,但文件只有一列数据,而且是垂直形式

需要在不使用 sed 创建新文件的情况下将如下所示的垂直数据转换为水平逗号分隔形式

文件1中的数据:

ABX
aHA
AHAK
AFGJK
AA

文件2中的数据:

1234
hakk
1567
gahsll

使用 sed 命令两个文件数据都应转换为水平逗号分隔格式

我的命令:

sed -i 's/\n//g' /Demo/*.*

输出:

ABX,aHA,AHAK,AFGJK,AA

同样适用于文件 2

注意:演示文件夹可以包含 n 个文件

这可能对你有用(GNU 粘贴):

paste -sd, file > tempFile && mv tempFile file

-s连续粘贴,-d为分隔符

或使用 sed:

sed -zi 's/\n/,/g;s/,$/\n/' file

-z 选项将整个文件拖入模式 space。

-i 选项允许就地编辑。

, 替换所有换行符,如果文件以换行符结尾则恢复最后一个换行符。

选择:

sed -i 'H;$!d;x;s/.//;s/\n/,/g' file

将整个文件复制到保留区 space,删除第一个换行符,然后用 , 替换所有其他换行符。