Linux中行、列显示与转换实现方式

 更新时间:2025年11月11日 16:40:26   作者:qq_36142959  
本文介绍了在Linux中如何将多项数据或内容打印输出为一行,用空格或其他分隔符分开,以及如何将输出按列显示,同时,还介绍了如何使用xargs、sed和awk等命令将行列输出进行转换

在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命令,按自己的要求设计出复杂的格化输出。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vscode远程连接Ubuntu出错问题的解决方法

    Vscode远程连接Ubuntu出错问题的解决方法

    这篇文章主要给大家介绍了关于Vscode远程连接Ubuntu出错问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Linux防火墙firewall设置端口访问限制方式

    Linux防火墙firewall设置端口访问限制方式

    在Linux系统中,firewall工具可以帮助用户配置防火墙规则,实现对端口的精确限制,通过简单的命令,用户可以开放或移除单个端口、批量处理端口规则、查看所有开放端口、允许或禁止特定IP或网段访问某端口等操作
    2024-10-10
  • VirtualBox安装Centos6.8出现E_INVALIDARG(0x80070057)的解决方法

    VirtualBox安装Centos6.8出现E_INVALIDARG(0x80070057)的解决方法

    这篇文章主要为大家详细介绍了VirtualBox安装Centos6.8出现E_INVALIDARG(0x80070057)的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Apache Flink 任意 JAR 包上传漏洞利用及防范策略分析

    Apache Flink 任意 JAR 包上传漏洞利用及防范策略分析

    这篇文章主要介绍了Apache Flink 任意 JAR 包上传漏洞利用及防范策略, 本文提供的案例和方法仅用于教学目的,实际操作时应确保遵守相关法律法规,不应用于非法侵入或攻击他人系统,需要的朋友可以参考下
    2024-07-07
  • Apache APISIX Dashboard 未授权访问漏洞分析(CVE-2021-45232)

    Apache APISIX Dashboard 未授权访问漏洞分析(CVE-2021-45232)

    Apache APISIX 是一个动态、实时、高性能的 API 网关, 提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能,这篇文章主要介绍了Apache APISIX Dashboard 未授权访问漏洞(CVE-2021-45232),需要的朋友可以参考下
    2023-03-03
  • linux系统nacos安装全过程

    linux系统nacos安装全过程

    文章详细介绍了在Linux系统上安装Nacos服务器的步骤,包括下载NacosServer、解压文件、配置数据库、启动服务以及端口映射等
    2025-12-12
  • linux中误删除程序包恢复实例

    linux中误删除程序包恢复实例

    Linux 下的文件一旦被删除,是难以恢复的。对于家庭单机使用的Linux ,或者误删文件后及时补救,还是可以恢复的。下面就来介绍一下。
    2016-10-10
  • Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境

    Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境

    本文为大家分享了如何在Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境,部署方法非常详细
    2018-10-10
  • 在Apache服务器上启用GZip压缩静态内容的方法

    在Apache服务器上启用GZip压缩静态内容的方法

    这篇文章主要介绍了在Apache服务器上启用GZip压缩静态内容的方法,通过配置.htaccess文件即可轻松实现,同时附带了一些GZip的常用命令,需要的朋友可以参考下
    2015-08-08
  • 关于Linux的透明大页详细介绍

    关于Linux的透明大页详细介绍

    这片文章介绍了Linux的Transparent HugePages,一是介绍了查看是否启用透明大页,二是如何启用、警用透明大页,需要的朋友可以参考下
    2015-07-07

最新评论