我有一个文件,其中包含一列和 200 行 (200*1) 的数据。
我想把这些数据放在一行中,用逗号分隔。
示例文件
Paul
Pammy
Jacob
Robin
输出
Paul, Pammy, Jacob, Robin
请您参考如下方法:
使用sed:
sed ':a;{N;s/\n/, /};ba' INPUT_FILE
说明:
我不是 sed 方面的专家,但这就是上面一行的意思:
:a:label命令创建一个命名标签a。这在与ba一起使用时分支到标签。这对于创建循环和转义到脚本末尾以打印当前模式空间很有用。NN只是使用\n将下一行附加到模式空间。s/\n/,/由于新行已使用
\n附加到模式空间,我们使用此替换将\n替换为,和space根据 OP 的要求。
测试:
[jaypal:~/Temp] cat file
Paul
Pammy
Jacob
Robin
[jaypal:~/Temp] sed ':a;{N;s/\n/, /};ba' file
Paul, Pammy, Jacob, Robin
