用FS(awk)分隔字符串的所有字符
发布时间:2020-12-13 23:56:30 所属栏目:Linux 来源:网络整理
导读:我虽然这是一个简单的任务,但不是! 输入(管道分隔): record1|ABCDEFGHrecord2|IJKLMNOP 我需要这个输出: record1|A|B|C|D|E|F|G|Hrecord2|I|J|K|L|M|N|O|P 到目前为止我尝试了什么: awk 'BEGIN{FS=OFS="|"}{a = split($2,b,""); for(i=1; i=a; i++){prin
我虽然这是一个简单的任务,但不是!
输入(管道分隔): record1|ABCDEFGH record2|IJKLMNOP 我需要这个输出: record1|A|B|C|D|E|F|G|H record2|I|J|K|L|M|N|O|P 到目前为止我尝试了什么: awk 'BEGIN{FS=OFS="|"}{a = split($2,b,""); for(i=1; i<=a; i++){printf("%s|%s,$1,b[i](i==a? "n":"|"))}}' input 我得到: record1|A record1|B record1|C ... 我不明白!如果有人能向我解释…… 解决方法
你的printfs遍布整个商店.通过如下所示的修改,它按预期工作
awk 'BEGIN{FS=OFS="|"}{a = split($2,""); printf "%s|",$1; for(i=1; i<=a; i++){printf("%s%s",b[i],i==a? "n":"|")}}' input (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SSH原理常见应用升级及端口转发
- linux – RS232控制台通信 – 将波特率设置为1 MBaud
- linux – 运行NetCat时检查多个端口(nc)
- linux – 如何从MCE消息中找到故障内存模块?
- linux – 如何在Mercurial HGWEB中启用ZIP / TAR / BZ2下载
- linux – 如何创建Ansible playbook以获取远程主机的操作系
- linux – AWS ec2 – 开放端口8080
- linux – perforce命令用于了解非版本化文件
- 分享几个有趣的Linux命令
- linux – Gfortran警告抱怨“Wmaybe -ininitialized”