awk如何将多行文件转换为一行
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍awk如何将多行文件转换为一行,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、需求:把这些数据库文件转换成一行,然后用scp -r 一次性作拷贝。二、实例[r
千家信息网最后更新 2026年11月03日awk如何将多行文件转换为一行
这篇文章主要介绍awk如何将多行文件转换为一行,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、需求:
把这些数据库文件转换成一行,然后用scp -r 一次性作拷贝。
二、实例
[root@mysql5 ~]# cat /tmp/1ga_10122ga_10589ga_11053ga_11238ga_11559ga_11944ga_12193ga_13542ga_35179ga_36013ga_36063ga_36575ga_36737ga_36926ga_37962ga_39596ga_39599ga_39603ga_39604ga_39605ga_39608ga_39609ga_39610ga_39614ga_39618ga_39619ga_39622ga_39625ga_39626ga_39630ga_39633ga_39636ga_39639ga_39640ga_39642ga_39645ga_39648ga_39652ga_39654ga_39657ga_39668ga_39675ga_39687ga_39690ga_39691ga_39693ga_39695ga_39697ga_39702ga_39703ga_39704ga_39708ga_39715ga_39717ga_39724ga_39725ga_39727ga_39728ga_39730ga_39732ga_39738ga_39741ga_39743ga_39753ga_39757ga_39761ga_39765
三、解决有三种
1、采用awk
[root@mysql5 ~]# awk BEGIN{RS=EOF}'{gsub(/\n/," ");print}' /tmp/1ga_10122 ga_10589 ga_11053 ga_11238 ga_11559 ga_11944 ga_12193 ga_13542 ga_35179 ga_36013 ga_36063 ga_36575 ga_36737 ga_36926 ga_37962 ga_39596 ga_39599 ga_39603 ga_39604 ga_39605 ga_39608 ga_39609 ga_39610 ga_39614 ga_39618 ga_39619 ga_39622 ga_39625 ga_39626 ga_39630 ga_39633 ga_39636 ga_39639 ga_39640 ga_39642 ga_39645 ga_39648 ga_39652 ga_39654 ga_39657 ga_39668 ga_39675 ga_39687 ga_39690 ga_39691 ga_39693 ga_39695 ga_39697 ga_39702 ga_39703 ga_39704 ga_39708 ga_39715 ga_39717 ga_39724 ga_39725 ga_39727 ga_39728 ga_39730 ga_39732 ga_39738 ga_39741 ga_39743 ga_39753 ga_39757 ga_39761 ga_39765awk默认将记录分隔符(record separator即RS)设置为\n,此行代码将RS设置为EOF(文件结束),也就是把文件视为一个记录,然后通过gsub函数将\n替换成空格,最后输出。
2、采用sed
[root@mysql5 ~]# sed ':a ; N;s/\n/ / ; t a ; ' /tmp/1ga_10122 ga_10589 ga_11053 ga_11238 ga_11559 ga_11944 ga_12193 ga_13542 ga_35179 ga_36013 ga_36063 ga_36575 ga_36737 ga_36926 ga_37962 ga_39596 ga_39599 ga_39603 ga_39604 ga_39605 ga_39608 ga_39609 ga_39610 ga_39614 ga_39618 ga_39619 ga_39622 ga_39625 ga_39626 ga_39630 ga_39633 ga_39636 ga_39639 ga_39640 ga_39642 ga_39645 ga_39648 ga_39652 ga_39654 ga_39657 ga_39668 ga_39675 ga_39687 ga_39690 ga_39691 ga_39693 ga_39695 ga_39697 ga_39702 ga_39703 ga_39704 ga_39708 ga_39715 ga_39717 ga_39724 ga_39725 ga_39727 ga_39728 ga_39730 ga_39732 ga_39738 ga_39741 ga_39743 ga_39753 ga_39757 ga_39761 ga_39765
说明:sed默认只按行处理,N可以让其读入下一行,再对\n进行替换,这样就可以将两行并做一行。但是怎么将所有行并作一行呢?可以采用sed的跳转功能。:a 在代码开始处设置一个标记a,在代码执行到结尾处时利用跳转命令t a重新跳转到标号a处,重新执行代码,这样就可以递归的将所有行合并成一行。
3、cat file | xargs
[root@mysql5 ~]# cat /tmp/1 | xargsga_10122 ga_10589 ga_11053 ga_11238 ga_11559 ga_11944 ga_12193 ga_13542 ga_35179 ga_36013 ga_36063 ga_36575 ga_36737 ga_36926 ga_37962 ga_39596 ga_39599 ga_39603 ga_39604 ga_39605 ga_39608 ga_39609 ga_39610 ga_39614 ga_39618 ga_39619 ga_39622 ga_39625 ga_39626 ga_39630 ga_39633 ga_39636 ga_39639 ga_39640 ga_39642 ga_39645 ga_39648 ga_39652 ga_39654 ga_39657 ga_39668 ga_39675 ga_39687 ga_39690 ga_39691 ga_39693 ga_39695 ga_39697 ga_39702 ga_39703 ga_39704 ga_39708 ga_39715 ga_39717 ga_39724 ga_39725 ga_39727 ga_39728 ga_39730 ga_39732 ga_39738 ga_39741 ga_39743 ga_39753 ga_39757 ga_39761 ga_39765
以上是"awk如何将多行文件转换为一行"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
一行
文件
代码
多行
内容
篇文章
一次性
也就是
价值
兴趣
函数
分隔符
功能
命令
实例
小伙
小伙伴
拷贝
数据
数据库
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技
广州为想互联网科技有限公司
河南真二互联网科技有限公司
互联网科技金融
互联网科技公司发展
广州宏创互联网科技
互联网金融科技平台
米客互联网科技
融贸通互联网科技
互联网科技英文翻译
卫星互联网科技股票
以后互联网后是啥科技
互联网科技人工智能实验室
互联网金融科技名词解释
科技互联网海报
深圳无忧互联网科技
黑云互联网科技有限公司
昆明中奇联合互联网科技
米泉互联网科技专业怎么样
互联网科技创业计划的风险分析
中智农互联网科技
菲比寻常互联网科技
中国科技互联网公司收入
互联网科技公司实习生
民营互联网公司国防科技
山东星卡互联网科技有限公司官网
上海创道互联网络科技有限公司
互联网领先科技活动
互联网科技博主张洲
河南商务圈互联网科技有限公司