linux文件内加一列内容,linux文件内容列传行_行转列
发布日期:2021-06-27 04:24:46 浏览次数:11 分类:技术文章

本文共 1827 字,大约阅读时间需要 6 分钟。

================ 文件内容列传行_行转列  ================

一、列转行

1、编辑测试文件

vi log.txt

16:23:00

8.2%

1773620k

16:23:01

3%

1770024k

16:23:02

5.7%

1766272k

16:23:03

4%

1766160k

16:23:04

7.9%

1775436k

16:23:05

2.5%

1775488k

16:23:06

3.9%

1770340k2、编辑列转行脚本

vi colline.sh

#!/bin/bash

while read col1 && read col2 && read col3;

do

echo -ne "$col1 $col2 $col3"

echo

done

3、运行脚本

sh colline.sh log.txt

输出:

16:23:00 8.2% 1773620k

16:23:01 3% 1770024k

16:23:02 5.7% 1766272k

16:23:03 4% 1766160k

16:23:04 7.9% 1775436k

16:23:05 2.5% 1775488k

16:23:06 3.9% 1770340k

二、行转列

1、编辑测试文件

vi f.txt

1 2 3 4 5

1 2 3 4 6

1 2 3 4 7

1 2 3 4 8

1 2 3 4 9

2 3 4 5 10

7 8 9 10 11

12 13 14 15 16

2、运行列转行_行转列命令

awk '{for(i=1;i<=NF;i++)a[NR,i]=$i}END{for(j=1;j<=NF;j++)for(k=1;k<=NR;k++)printf k==NR?a[k,j] RS:a[k,j] FS}' f.txt

输出:

1 1 1 1 1 2 7 12

2 2 2 2 2 3 8 13

3 3 3 3 3 4 9 14

4 4 4 4 4 5 10 15

5 6 7 8 9 10 11 16

备注:文件至少需要两列数据===== 文件内容输出为一行

编辑文件:

vi file.txt

1 2 3 4 5 6

a b c d e f

2 3 4 5 6 7

q a z w s x

3 4 5 6 7 8

awk -F "+" '{for(i=1;i<=NF;i++) a[i,NR]=$i}END{for(i=1;i<=NF;i++) {for(j=1;j<=NR;j++) printf a[i,j] " ";print ""}}' file.txt

输出:

1 2 3 4 5 6 a b c d e f 2 3 4 5 6 7 q a z w s x 3 4 5 6 7 8

cat file.txt |tr "\n" ","|sed -e 's/,$/\n/'

输出:

1 2 3 4 5 6,a b c d e f,2 3 4 5 6 7,q a z w s x,3 4 5 6 7 8

cat file.txt |tr "\n" " "|sed -e 's/,$/\n/'

输出:

1 2 3 4 5 6 a b c d e f 2 3 4 5 6 7 q a z w s x 3 4 5 6 7 8

--->行转列_列转行

vi test.txt

1 2 3 4 5 6 7 8

awk -F " +" '{for(i=1;i<=NF;i++) a[i,NR]=$i}END{for(i=1;i<=NF;i++) {for(j=1;j<=NR;j++) printf a[i,j] " ";print ""}}' test.txt

输出:

1

2

3

4

5

6

7

8

vi test.txt

1

2

3

4

5

6

7

8

awk -F " +" '{for(i=1;i<=NF;i++) a[i,NR]=$i}END{for(i=1;i<=NF;i++) {for(j=1;j<=NR;j++) printf a[i,j] " ";print ""}}' test.txt

输出:

1 2 3 4 5 6 7 8

标签:23,16,vi,转行,列传,转列,linux,txt

来源: https://www.cnblogs.com/lz-2021/p/14693141.html

转载地址:https://blog.csdn.net/weixin_42166105/article/details/116846305 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:linux移动数据,基于嵌入式Linux移动数据同步研究与实现
下一篇:linux 7055端口,OpenSSL Montgomery乘法运算错误漏洞(CVE-2016-7055)

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年03月26日 18时47分04秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章