使用gawk转置列和行
发布时间:2020-12-14 01:35:09 所属栏目:Linux 来源:网络整理
导读:我试图转置一个非常长的文件,我担心它不会完全转置. 我的数据看起来像这样: Thisisalongstring12345678 1 AB abc 937 4.320194Thisisalongstring12345678 1 AB efg 549 0.767828Thisisalongstring12345678 1 AB hi 346 -4.903441Thisisalongstring12345678
我试图转置一个非常长的文件,我担心它不会完全转置.
我的数据看起来像这样: Thisisalongstring12345678 1 AB abc 937 4.320194 Thisisalongstring12345678 1 AB efg 549 0.767828 Thisisalongstring12345678 1 AB hi 346 -4.903441 Thisisalongstring12345678 1 AB jk 193 7.317946 我希望我的数据看起来像这样: Thisisalongstring12345678 Thisisalongstring12345678 Thisisalongstring12345678 Thisisalongstring12345678 1 1 1 1 AB AB AB AB abc efg hi jk 937 549 346 193 4.320194 0.767828 -4.903441 7.317946 第一根弦的长度是否会成为问题?我的文件比这长约2000行长得多.也可以将第一个字符串的名称更改为Thisis234,然后转置? 解决方法
我不明白为什么它不会 – 除非你没有足够的记忆.尝试以下内容,看看是否遇到问题.
输入: $cat inf.txt a b c d 1 2 3 4 .,+ - A B C D Awk计划: $cat mkt.sh awk ' { for(c = 1; c <= NF; c++) { a[c,NR] = $c } if(max_nf < NF) { max_nf = NF } } END { for(r = 1; r <= NR; r++) { for(c = 1; c <= max_nf; c++) { printf("%s ",a[r,c]) } print "" } } ' inf.txt 跑: $./mkt.sh a 1 . A b 2,B c 3 + C d 4 - D 积分: > http://www.chemie.fu-berlin.de/chemnet/use/info/gawk/gawk_12.html#SEC121 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- linux – “cat / proc / net / dev”和“ip -s
- linux – 获取不在file2中的file1行
- LINUX实战:SecureCRT连接CentOS使用Vim编辑中文
- 如何通过linux存储库安装我的程序(例如,使用apt-
- regex – sed – 用相同数量的字符替换字符串
- debian set eth0 autoneg off speed 1000 duplex
- linux – 使用lftp将本地文件夹与ftp文件夹同步的
- linux ksh向下舍入或向上舍入 – 浮点数
- linux – 当文本行出现在文件中时,如何使用Bash执
- Linux内核中.mod.c文件中版本信息的含义
热点阅读