sed高级应用之替换\n换行符
sed 替换换行符失败后,查阅了一下资料,发现
sed是按行处理文本数据的,每次处理一行数据后,都会在行尾自动添加trailing newline,其实就是行的分隔符即换行符。
如果非要使用sed命令,实现替换file文本内容的换行符为空的话,那么就要了解sed的分支条件命令,以及了解sed的pattern space模式空间和hold space保持空间。即,连续两行执行一次sed命令,这样就可以把前一行的\n替换完成。
[root@santiagod 172]# cat over/test 2NHWZELE 2PJ4PSAJ 2PJ54DYJ 3HH0WDBP 3HH16HBN 4YGA342H 5BH22GTR [root@santiagod 172]# sed ":2PJ54DYJ;$!N;s/\n/、/g;b2PJ54DYJ" over/test |awk -F'、' '{print NF}' 7 [root@santiagod 172]# sed ":2PJ54DYJ;$!N;s/\n/、/g;b2PJ54DYJ" over/test 2NHWZELE、2PJ4PSAJ、2PJ54DYJ、3HH0WDBP、3HH16HBN、4YGA342H、5BH22GTR [root@santiagod 172]# sed ":2PJ54DYJ;$!N;s/\n/、/g;b2PJ54DYJ" over/test [root@santiagod 172]# sed ":0;$!N;s/\n/、/g;b0" over/test 2NHWZELE、2PJ4PSAJ、2PJ54DYJ、3HH0WDBP、3HH16HBN、4YGA342H、5BH22GTR
参考连接:https://blog.csdn.net/u011729865/article/details/71773840
当然 其他方法也能替换换行符,如:
#cat over/test|tr '\n' ',' 2NHWZELE,2PJ4PSAJ,2PJ54DYJ,3HH0WDBP,3HH16HBN,4YGA342H,5BH22GTR,