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

一、列转行

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%
1770340k

2、编辑列转行脚本

vi colline.sh

#!/bin/bash

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

do

       echo -ne "$col1 $col2 $col3"

echo

done <$1

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

<end>


 
 

linux文件内容列传行_行转列的更多相关文章

  1. Linux 文件内容查看工具介绍-cat,less,more,tail,head

    Linux 文件内容查看工具介绍 作者:北南南北来自:LinuxSir.Org摘要: 本文讲述几种常用文件内容的查看工具,比如cat.more.less.head.tail等,把这些工具最常用的参数. ...

  2. Linux文件内容查阅 - cat, tac, nl, more, less, head, tail, od

    cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写! nl 显示的时候,顺道输出行号! more 一页一页的显示文件内容 less 与 more 类似 ...

  3. Linux 文件内容查看(cat、tac、nl 、more 、less、head、tail )

    Linux系统中使用以下命令来查看文件的内容: cat:  由第一行开始显示文件内容tac :从最后一行开始显示,可以看出 tac 是 cat 的倒著写!nl:   显示的时候,顺道输出行号!more ...

  4. LINUX文件内容处理及文本编辑器vim

    Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...

  5. linux tail 命令详解!Linux 文件内容查看工具介绍

    转:http://blog.csdn.net/carzyer/article/details/4759593 1.cat 显示文件连接文件内容的工具: cat 是一个文本文件查看和连接工具.查看一个文 ...

  6. Linux文件内容查阅

    直接查阅一个文件的内容:cat/tac/nl命令 cat (concatenate) # cat [-AbEnTv] 选项与參数: -A  :相当於 -vET 的整合选项.可列出一些特殊字符而不是空白 ...

  7. linux(4)Linux 文件内容查看

    查看文件内容总览 cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写! nl 显示的时候,顺道输出行号! more 一页一页的显示文件内容 less ...

  8. Linux 文件内容转码

    文件内容的转换: iconv -f GB2312 -t UTF-8 gb1.txt >gb2.txt-f, –from-code=名称 原始文本编码-t, –to-code=名称 输出编码-o, ...

  9. Linux文件内容查看相关命令

    1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...

随机推荐

  1. Win64 驱动内核编程-1.环境搭建

    驱动开发环境及其双机调试环境搭建 开发环境搭建 使用工具:vs2015,Windows 10 SDK_10.0.14393,WDK10.0.14393.0 (1)安装VS2015  随便一个版本吧,我 ...

  2. PHP Proxy 负载均衡技术

    <?php $whitelistPatterns = array( ); $forceCORS = false; $anonymize = true; $startURL = "&qu ...

  3. 神经网络与机器学习 笔记—LMS(最小均方算法)和学习率退火

    神经网络与机器学习 笔记-LMS(最小均方算法)和学习率退火 LMS算法和Rosenblatt感知器算法非常想,唯独就是去掉了神经元的压制函数,Rosenblatt用的Sgn压制函数,LMS不需要压制 ...

  4. java之泛型的使用

    在java中,普通的类和方法只能用具体的类型,这对代码的限制很大,代码的可重用性大大降低. 那么如何才能让同一个类和方法使用不同类型的对象呢?在接触泛型之前我们可能会想到通过类型转换的方法来实现. p ...

  5. 手把手教你掌握——性能工具Jmeter之参数化(含安装教程 )

    本节大纲 Jmeter 发送get/post请求 Jmeter 之文件参数化-TXT/Csv Jmeter之文件参数化-断言 JMeter简介 Apache JMeter是一款基于JAVA的压力测试T ...

  6. mysql.data.entityframeworkcore 已弃用

    转官网有方案: https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core.html General R ...

  7. x265 code tracing

    方瑞东的博客专栏 http://blog.csdn.net/frd2009041510/article/details/51182920 cabbage2008的专栏 http://blog.csdn ...

  8. 北航OO(2020)第三单元博客作业

    一.JML理论基础及相关工具链 1.JML理论基础 该部分梳理本单元作业中涉及到的JML知识. 1.1注释结构 JML采用javadoc注释的方式来表示规格,且每行以@开头.通过使用//@annota ...

  9. 实施CRM系统后 企业客户服务的改变

    通过实施CRM客户管理系统,企业的竞争力和盈利能力得到大幅提高.在这个过程中,客户服务不仅能够持续的满足客户的需求,还能够促进客户与企业建立长期的互惠互利的良好客户关系,这也为企业赢得了更多的商机和利 ...

  10. [DB] HDFS

    体系架构 NameNode HDFS主节点.管理员 接收客户端(命令行.Java程序)的请求:创建目录.上传.下载.删除数据 管理和维护HDFS的日志和元信息 日志文件(edits文件) 二进制文件, ...