linux文件内容列传行_行转列
================ 文件内容列传行_行转列 ================
一、列转行
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 <$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文件内容列传行_行转列的更多相关文章
- Linux 文件内容查看工具介绍-cat,less,more,tail,head
Linux 文件内容查看工具介绍 作者:北南南北来自:LinuxSir.Org摘要: 本文讲述几种常用文件内容的查看工具,比如cat.more.less.head.tail等,把这些工具最常用的参数. ...
- Linux文件内容查阅 - cat, tac, nl, more, less, head, tail, od
cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写! nl 显示的时候,顺道输出行号! more 一页一页的显示文件内容 less 与 more 类似 ...
- Linux 文件内容查看(cat、tac、nl 、more 、less、head、tail )
Linux系统中使用以下命令来查看文件的内容: cat: 由第一行开始显示文件内容tac :从最后一行开始显示,可以看出 tac 是 cat 的倒著写!nl: 显示的时候,顺道输出行号!more ...
- LINUX文件内容处理及文本编辑器vim
Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...
- linux tail 命令详解!Linux 文件内容查看工具介绍
转:http://blog.csdn.net/carzyer/article/details/4759593 1.cat 显示文件连接文件内容的工具: cat 是一个文本文件查看和连接工具.查看一个文 ...
- Linux文件内容查阅
直接查阅一个文件的内容:cat/tac/nl命令 cat (concatenate) # cat [-AbEnTv] 选项与參数: -A :相当於 -vET 的整合选项.可列出一些特殊字符而不是空白 ...
- linux(4)Linux 文件内容查看
查看文件内容总览 cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写! nl 显示的时候,顺道输出行号! more 一页一页的显示文件内容 less ...
- Linux 文件内容转码
文件内容的转换: iconv -f GB2312 -t UTF-8 gb1.txt >gb2.txt-f, –from-code=名称 原始文本编码-t, –to-code=名称 输出编码-o, ...
- Linux文件内容查看相关命令
1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...
随机推荐
- Linux下抓包命令tcpdump的使用
在linux下,可以使用 tcpdump 命令来抓取数据包. 主要用法如下: 过滤网卡 tcpdump -i eth0 #抓取所有经过网卡eth0数据包 tcpdump -i lo #抓取环回口的数据 ...
- UVA11134传说中的车(放棋子)
题意: 给你一个n*n的棋盘,让你在棋盘上放n个棋子,要求是所有棋子不能相互攻击(同行或者同列就会攻击),并且每个棋子都有一个限制,那就是必须在给定的矩形r[i]里,输出每个棋子的位置,s ...
- 发生系统错误 1275.此驱动程序被阻止加载 寒江孤钓<<windows 内核安全编程>> 学习笔记
安装书中第一章成功安装first服务之后,在cmd窗口使用命令行 "net start first" 时, 出现 "发生系统错误 1275.此驱动程序被阻止加载" ...
- 【CSS】CSS3从入门到深入(复习查漏向
CSS3从入门到深入(复习查漏向 pre_section CSS:层叠样式表,决定网页表现 网页为多层结构,CSS为每一层设置样式,最后显示最上一层 CSS语句 = 选择器 + 声明块 形式 内联样式 ...
- 老板让我重构项目,我想首先应该服务治理---eureka服务治理深入浅出
目录 什么是服务治理 Eureka调用过程 Eureka单机注册 Eureka 单机启动 单机注册 集群注册 客户调用 Eureka集群注册 idea 如何同一个项目启动多次 Eureka自我保护 为 ...
- STL实现的底层数据结构简介
STL实现的底层数据结构简介 C++ STL 的实现: 1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层数 ...
- UVa OJ 455 Periodic Strings
Periodic Strings A character string is said to have period k if it can be formed by concatenating ...
- 黄衫女子,黄衫好.png
正想着团队项目中数据该如何解析,就收到了来自软工课程组的一件小黄衫,真是意外之喜.详问其来源,竟是因结对项目做的"较好"而来,顿感受之有愧. 结对项目是两人对文件系统的一个小模拟, ...
- Jekyll+GitHub Pages部署自己的静态Blog
混了这么久,一直想拥有自己的博客,通过jekyll和GitHub Pages捣腾出了自己的博客(https://www.ichochy.com) 一.安装jekyll 首先有安装Ruby的开发环境 运 ...
- [刷题] 347 Top K Frequent Elements
要求 给定一个非空数组,返回前k个出现频率最高的元素 示例 [1,1,1,2,2,3], k=2 输出:[1,2] 思路 出队逻辑,普通队列是先进先出,优先队列是按最大/最小值出队 通过堆实现优先队列 ...