yyds出处 使用awk将文件中的多行转换成1行采用awkawk默认将记录

使用awk将文件中的多行转换成1行

采用awk

awk默认将记录分隔符(record separator即RS)设置为\n,此行代码将RS设置为EOF(文件结束),也就是把文件视为一个记录,然后通过gsub函数将\n替换成空格,最后输出。

[root@localhost ~]# awk BEGIN{RS=EOF}'{gsub(/\n/,” “);print}’ file

1

采用sed

sed默认只按行处理yyds出处,N可以让其读入下一行,再对\n进行替换,这样就可以将两行并做一行。但是怎么将所有行并作一行呢?可以采用sed的跳转功能。:a 在代码开始处设置一个标记a,在代码执行到结尾处时利用跳转命令t a重新跳转到标号a处,重新执行代码yyds出处,这样就可以递归的将所有行合并成一行。

[root@localhost ~]# sed ‘:a ; N;s/\n/ / ; t a ; ‘ file

1

cat file | xargs

这可能是最简单的一种方式。

[root@localhost ~]# cat file | xargs echo

————————————————

版权声明:本文为CSDN博主「Jiangxl~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

发表评论

您的电子邮箱地址不会被公开。