awk如何将多行文件转换为一行
发表于:2025-11-21 作者:千家信息网编辑
千家信息网最后更新 2025年11月21日,这篇文章主要介绍awk如何将多行文件转换为一行,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、需求:把这些数据库文件转换成一行,然后用scp -r 一次性作拷贝。二、实例[r
千家信息网最后更新 2025年11月21日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安全错误
数据库的锁怎样保障安全
vb 数据库自动编号
软件开发培训的课程设计
哈尔滨网络技术人员
数据库安全性定义与检查
可信网络安全技术研究
2核4g开我的世界服务器卡不卡
维护网络安全保障人民安居乐业
河北常见软件开发要多少钱
公安网络安全 一机两网
网络安全总局电话
网络强国战略下网络安全研究
AR尺子类型的软件开发
省直网络安全员面试技能操作
辽宁互联网软件开发计划
北京气象影视节目制作软件开发
枣庄电商软件开发外包公司
天津市网络安全提示
英雄联盟换服务器
文言文阅读软件开发
数据库重复文件导出
工业网络安全垄断
数据库损坏了
如何从数据库中导入索引库
单片机访问服务器
网络安全的手抄报幼儿版
税务系统网络安全工作总结
吕梁市网络安全科科长
一切软件开发都毫无例外
类图在软件开发中的作用
t6提示发货单数据库标准