我被它困住了,不知道如何继续
我有一个文件夹叫做: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替换所有其他换行符。