Linux中行、列显示与转换

在linux中,我们经常需要把多项数据或内容打印输出为一行,用空格或其他分隔符分开。有时,又需要把输出按列显示。特殊情况下,需要由一种显示方式转换为另一种。

一、显示与输出

1.数字序列显示

1 2 3 4 5…这是一行显示。

1

2

3

4

5

这是按列显示。

2.文件输出

默认按行输出,由换行符(用\n表示)控制

输出时,如遇到换行符,就会另起一行

3.打印输出命令

echo   bash默认把参数打印输出到屏幕

print  通用打印输出命令,根据解释器或编译器的不同,有不同的含义

printf 与print相同,也是常用打印输出命令,具有格式化输出的含义

在centos7系统中,shell默认采用bash,主要使用echo打印输出。

echo  123456   默认按行输出,如需要换行,加选项,设置\n

案例:

echo  123456

echo  -e “123\n456”

选项:-e  开启转义   -n 不换行

二、行列显示技巧

1.选择合适的命令

数字序列显示时,执行不同命令会产生不同效果。根据需要选用命令。如执行echo  {1..5}时输出显示在一行;如执行seq 5时输出显示为一列,每个数字一行。

文件列表显示

ls 按行显示

find按列显示

2.echo命令改变行列输出

默认按行输出

echo  hello

hello

echo -e "h\ne\nl\nl\no"

-n  按行显示

\n换行输出

合理规划选项与参数,可以有效控制屏幕输出格式。行列显示随心所欲。

3.xargs命令改变行列输出

echo是标准输入时随时改变选项,达到预期的输出效果。自己需要多少行多少列,本人自由控制。

而对于已存在的文件,在创建编辑文件时就已确定。如何调节行列输出与显示呢?这就需要用到xargs命令。

a.列转行

xargs命令是改变已存在的文件的输出格式。“cat 文件名”是根据文件的行分隔符输出显示在屏幕上。如想改变一下,想把所有行合并为一行,就可以使用管道及xargs命令。

cat  文件名 |xargs

由按行显示一列→全部按空格分隔显示为一行

b.行转列

通过xargs命令可以把一列内容转为一行,同样也可以把一行内容转为一列。

echo  {1..5} |xargs -n1

由一行转为一列

-n1选项中,-n是指定转化列数,1就是转为1列。如果-n2就是转为2列,等等。

4.sed命令改变行列输出

sed是文本处理中很重要的工具,按行处理数据,增删改查。如要求仅仅是把两行合并为一行,就非常方便。

如果对sed的模式空间与保持空间有所了解,就能理解下面的命令:把一列转为一行并用不同的连接符。

此方法仅供参考。

5.awk命令改变行列输出

awk、sed和grep是处理文本文件的三大利器,通称为linux三剑客。

与sed一样,awk按行处理数据,把行中数据根据分隔符分离为多个域(或称字段field)。数据输入与输出都由格式符(称为环境变量)控制,改变格式符就可以改变行或列的输出。

修改输出格式,就是修改输出行分隔符。默认是以\n作为一行的结尾。如果不需要换行符,就可以设置为空格。

ORS=" "  按列输出→一行显示。仍以seq 1 10为例。

小结

1.如果在标准输入时设置好选项与参数,echo命令可以满足我们对行或列的输出需要。

2.查看文本文件时,需要转换行或列时,利用xargs命令就可以搞定。

3.如果想把显示的行列输出内容另存为一个文件,可以利用重定向功能。

4.对文本的高级编辑与输出,需要sed与awk命令,按自己的要求设计出复杂的格化输出。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_36142959

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值