我将excel数据导出到制表符分隔的txt文件中,但是我很难在终端中打印它,这是文件:

heading1    heading2    heading3    heading4    heading5    heading6    heading7

col1row1    col2row1    col3row1    col4row1    col5row1    col6row1    col7row1

col1row2    col2row2    col3row2    col4row2    col5row2    col6row2    col7row2

col1row3    col2row3    col3row3    col4row3    col5row3    col6row3

col1row4    col2row4    col3row4    col4row4

您可以在此处下载文本文件。

我尝试了sed和awk。

update1:我在bsd(mac)上,cat file.txt以不可读的丑陋格式打印,我有一个bash脚本需要输入标签,因此我只先打印标签,然后从打印列表中选择正确的标签

我不明白。 你不能做cat file.txt?

您到底尝试了什么,期望得到什么输出?

在终端中打印它是什么意思。 猫文件够吗?

请看我的更新

您的文件有两个问题:

它具有旧的Mac风格的行尾。这些导致Unix终端上的输出以一种令人困惑的方式被覆盖

它缺少最后的换行符。

使用tr和echo

解决此问题的一种方法是:

$ tr '

' '

'

heading1        heading2        heading3        heading4        heading5        heading6        heading7

col1row1        col2row1        col3row1        col4row1        col5row1        col6row1        col7row1

col1row2        col2row2        col3row2        col4row2        col5row2        col6row2        col7row2

col1row3        col2row3        col3row3        col4row3        col5row3        col6row3

col1row4        col2row4        col3row4        col4row4

在这里,tr '

' '

'用换行符(unix样式的行尾)替换所有回车符(Mac样式的行尾)。 echo""语句添加最后一个换行符。

使用awk

$ awk 1 RS='

' test_tab_delimited.txt

heading1        heading2        heading3        heading4        heading5        heading6        heading7

col1row1        col2row1        col3row1        col4row1        col5row1        col6row1        col7row1

col1row2        col2row2        col3row2        col4row2        col5row2        col6row2        col7row2

col1row3        col2row3        col3row3        col4row3        col5row3        col6row3

col1row4        col2row4        col3row4        col4row4

这里的awk程序由单个字符1组成。这告诉awk打印它读取的每个记录

选项设置RS='

'告诉awk将回车符视为输入上的记录分隔符。

使用sed

$ sed 's/

/

/g; s/$/

/' test_tab_delimited.txt

heading1        heading2        heading3        heading4        heading5        heading6        heading7

col1row1        col2row1        col3row1        col4row1        col5row1        col6row1        col7row1

col1row2        col2row2        col3row2        col4row2        col5row2        col6row2        col7row2

col1row3        col2row3        col3row3        col4row3        col5row3        col6row3

col1row4        col2row4        col3row4        col4row4

我们在这里使用两个sed命令:

s/

/

/g告诉sed在找到的每一个地方都用换行符代替回车。

s/$/

/告诉sed在每行末尾添加最后一个换行符。这仅发生一次,因为在输入时文件没有换行符,因此sed将整个文件视为一行。

[此解决方案已在GNU(Linux)sed上进行了测试。使它在BSD(OSX)sed下运行可能需要进行一些小的更改。]

使用GNU grep

$ grep -oP '[^

]*(?=

|$)' test_tab_delimited.txt

heading1        heading2        heading3        heading4        heading5        heading6        heading7

col1row1        col2row1        col3row1        col4row1        col5row1        col6row1        col7row1

col1row2        col2row2        col3row2        col4row2        col5row2        col6row2        col7row2

col1row3        col2row3        col3row3        col4row3        col5row3        col6row3

col1row4        col2row4        col3row4        col4row4

此解决方案需要GNU grep。它不适用于Mac上安装的默认grep。

使用mac2unix

您的系统可能还安装了一个实用程序,该实用程序的名称可能类似于mac2unix,该实用程序用于执行此转换。

您如何看到Mac风格的结尾?

@nautical我从他提供的链接中下载了OPs文件。

我看到了,我从网站上复制并粘贴了它,od -a显示了正常的Unix换行符。

@ John1024我们以为你只是千里眼...

Linux shell输出制表符,关于bash:如何在终端中打印制表符分隔文件相关推荐

  1. linux shell输出数字小数点前少了0_南京课工场IT培训:SHELL 超详细基础知识,适合新手小白(一)

    一.什么是shell? 在linux内核与用户直接的解释器程序: 通常指/bin/bash; 相当于操作系统的"外壳". 二.怎么使用shell? shell的使用方式? 1. 命 ...

  2. 【Linux Shell】你知道bash shell和dash shell的区别吗?

    最近在工作中遇到一个很奇葩的问题,就是一个嵌入式的SDK编译,它里面执行shell命令的时候,使用的dash shell来解析,而通常我们默认用的是bash shell来解析:我按照bash shel ...

  3. linux shell 获取环境变量,bash shell中的环境变量

    环境变量--bash shell使用环境变量来存储系统相关数据,并允许将数据存储在内存中. 环境变量分为:全局环境变量 本地环境变量 目录全局环境变量 本地环境变量 设置全局环境变量 删除环境变量 P ...

  4. linux修改sftp umask,配置 bash 默认的 umask 更改 SFTP 上传文件的权限

    最近遇到一点事,需要开放工作室服务器的网站目录上传文件权限,要求静态网站上传可以即传即用,考虑到简单起见我想到的办法是新建一个用户加入 www-data 组,登录目录设在网站所在目录下,要传网站直接把 ...

  5. c语言编程输出字母倒三角形,如何在C语言中打印倒三角形

    如何在C语言中打印倒三角形 发布时间:2020-07-28 11:53:15 来源:亿速云 阅读:281 作者:Leah 这期内容当中小编将会给大家带来有关如何在C语言中打印倒三角形,文章内容丰富且以 ...

  6. idea 注解制表符_如何在IntelliJ IDEA中使用制表符进行缩进?

    如何在IntelliJ IDEA中使用制表符进行缩进? 如何在IntelliJ IDEA 11.0中使用制表符而不是多个空格进行缩进? 我有"使用制表符" 检查"代码风格 ...

  7. linux shell 输出红色,Bash Shell怎么打印各种颜色

    对echo做过一个简单包装... 第一个GitHub上的作业... 只支持ascii颜色... cecho,直接把readme拷贝过来了. cecho Colorful echo for unix-l ...

  8. linux shell 输出到数据库,linux shell 入门

    利用vi等文本编辑器编写Shell脚本的格式是固定的,如下: Yourcommandsgohere chmod+xfilename.sh 下面我们从经典的"helloworld"入 ...

  9. Linux shell 对话框,如何在 Bash Shell 脚本中显示对话框

    原标题:如何在 Bash Shell 脚本中显示对话框 这个教程给出几个如何使用类似zenity和whiptail的工具在Bash Shell 脚本中提供消息/对话框的例子.使用这些工具,你的脚本能够 ...

最新文章

  1. HDU 4292 Food(dinic +拆点)
  2. DOMINO的JDBC和ODBC连接方法
  3. python爬虫学习(一) requests模块
  4. (2.13)Mysql之SQL基础——触发器
  5. Vue2+VueRouter2+webpack 构建项目实战(四)接通api,先渲染个列表
  6. iphone静音键失灵_知否 | 为何大部分安卓机 都不学iPhone加入静音键?
  7. debian ubuntu 记录系统启动信息
  8. powerbuilder只能支持cp850字符集吗_杜比全景声是什么?哪些电视支持杜比全景声...
  9. 关于ODOO中高级视图的看板案例错误
  10. greenplum配置高可用_0665-6.2.0-如何在CDH中配置HMS高可用
  11. 循环赛日程安排(构造、分治)
  12. 大学计算机实验在林学的应用,大学计算机实验6实验报告.pdf
  13. 阿里云携手印度电信巨头 网络互连覆盖150个国家地区
  14. python 常用函数用法
  15. 21. Django进阶:内建用户系统
  16. 关于有默认值的字段在用EF做插入操作时的思考(续)
  17. 截图工具FastStone Capture
  18. excel工作簿合并为一个表格
  19. 设想一下未来二十年后的计算机,①沙尘暴预报是一项复杂的系统工程,它既需要遍布各地的气象检测...阅读答案...
  20. 江南爱窗帘十大品牌,怎么合理的搭配窗帘配色

热门文章

  1. java 密码加密 盐_有效提高java编程安全性的12条黄金法则
  2. 基于贴标号算法的二值图像区域分割 面积计算
  3. js:fetch在浏览器中发送 HTTP 请求
  4. 【NLP】地理信息系统原理与方法(第4版) 思维导图
  5. 操作系统与网络 2019-3-26
  6. 收集的几个存在漏洞的程序
  7. 【matlab图像处理】matlab编程练习
  8. vscode 全局搜索时屏蔽node_modules和dist 目录
  9. 【水文】从url横向对比大电商网站的搜索细节处理
  10. 3dmax导入unity问题(1) 轴角度坐标