如何转换这样的文件:
ghosts: [[8, 16]]
pacman: [3, 15]
ghosts: [[4, 26]]
pacman: [4,15]
到这样的文件:
ghosts: [[8, 16]], pacman: [3, 15]
ghosts: [[4, 26]], pacman: [4,15]
使用sed命令?
我尝试了sed -e 's/\npac/, pac/g' input_file
,结果没有任何变化。
答案 0 :(得分:0)
考虑到您实际的Input_file与所示示例相同,并且如果您对awk
感到满意,那么下面的内容可能会帮助您。
awk -v s1="," '{printf("%s%s",$0~/^ghosts/ && FNR>1?ORS:FNR==1?"":s1 OFS,$0)} END{print ""}' Input_file
答案 1 :(得分:0)
这可能对您有用(GNU sed):
sed 'N;s/\n/, /' file
将下一行添加到当前行,并用逗号和空格替换换行符。
答案 2 :(得分:0)
另一个awk
$ awk '{ORS=NR%2?", ":RS}1' file
ghosts: [[8, 16]], pacman: [3, 15]
ghosts: [[4, 26]], pacman: [4,15]
或者,用pr
$ pr -2ats', ' file
这应该是最短的方法!