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



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

我有一个文件夹叫做: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也是如此

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

这可能适合您(GNU paste):

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

-s连续粘贴,-d为分离器。

或使用sed:

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

-z选项将整个文件放入模式空间。

-i选项允许就地编辑。

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

替代:

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

将整个文件复制到保持空间,删除第一个换行符,然后用,'s替换所有其他换行符。

相关内容

  • 没有找到相关文章

最新更新