1.命令简介

用于将文件的制表符(Tab)转换为空格符(Space),默认一个 Tab 对应8个空格符,并将结果输出到标准输出。若不指定任何文件名或所给文件名为 -,则 expand 会从标准输入读取数据。

功能与之相反的命令是 unexpand,是将空格符转成 Tab 符。

2.命令格式

expand [OPTIONS] [FILES]

3.选项说明

-i, --initial不转换非空白符后的制表符
-t, --tabs=NUMBER指定一个tab替换为多少个空格,而不是默认的 8
-t, --tabs=LIST指定制表符位置列表,用逗号分隔
--help显示帮助信息
--version输出版本信息

4.常用示例

(1)将文件中每行第一个 Tab 符替换为 6 个空格符,非空白符后的制表符不作转换。

expand -i -t 6 FILE

原文件内容:

转换后内容如下:

5.常见问题

(1)不是所有的Tab都会转换为默认或指定数量的空格符,expand会以对齐为原则将Tab符替换为适当数量的空格符,替换的原则是使后面非Tab符处在一个物理Tab边界(即Tab size的整数倍)。例如下面的文件:

其中CR和LF分别是Windows下的回车和换行符。使用如下命令转换后的结果如下图:

expand -t 4 file


可以看到第一行的第二个Tab符和第二行的所有Tab符并没有替换为4个空格符,还是按照原来内容的对齐格式,替换为适当数量的空格符。


参考文献

[1] expand(1) manual
[2] 缩进与对齐——正确地使用Tab和空格

Linux 命令(44)—— expand 命令相关推荐

  1. 每天一个linux命令(44)--ss命令

    ss 是 socket statistics 的缩写.顾名思义,ss 命令可以用来获取socket 统计信息,它可以显示和netstat 类似的内容.但 ss 的优势在于它能够显示更多更详细的有关TC ...

  2. 整理一下linux系统expand 命令

    现在越来越多的人使用linux系统,今天来为大家介绍一下expend命令 1.命令简介 用于将文件的制表符(Tab)转换为空格符(Space),默认一个 Tab 对应8个空格符,并将结果输出到标准输出 ...

  3. expand linux,整理一下linux系统expand 命令

    导读 现在越来越多的人使用linux系统,今天来为大家介绍一下expend命令 1.命令简介 用于将文件的制表符(Tab)转换为空格符(Space),默认一个 Tab 对应8个空格符,并将结果输出到标 ...

  4. 【Linux】一步一步学Linux——cut命令(44)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 cut - 在文件的每一行中提取片断 说明:该命令有两项功 ...

  5. Linux 后台开发常用命令目录(更新 ing)

    文章目录 前言 帮助命令 进程与作业管理 文本查看 文本编辑 编程相关 系统管理 文件传输 网络管理 文件与目录管理 磁盘管理 权限管理 用户与组管理 备份压缩 代码版本控制 性能检测 实用工具 前言 ...

  6. Linux(centos7.9)常用命令大全及基础知识

    linux中数组的索引从0开始,其他默认从1开始,例如没有第0列,从第1列开始 在Unix中一切(包括网络套接口)都是文件 在命令行中,无论几个空格,都当成一个空格看待 在linux中,在命令行中通过 ...

  7. linux操作系统一些基础命令

    支持语言修改与查询:echo  $LANG,修改语言命令 LANG=en_US 修改为英语. bc切换出计算器,输入quit退出计算器 在使用man 或者 info 查询命令或者函数时,可以使用 pa ...

  8. linux查看设备内存代码,Linux下内存查看命令(示例代码)

    在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...

  9. linux命令查看cpu负载,Linux下使用w命令和uptime命令查看系统负载

    在Linux系统中查询系统CPU和内存的负载(使用率)时,我们通常习惯于使用top.atop或者ps,这篇文章将要给大家介绍如何使用w命令和uptime命令来查看系统的负载情况,对于uptime命令, ...

最新文章

  1. Mvc多级Views目录 asp.net mvc4 路由重写及 修改view 的寻找视图的规则
  2. struts 2 标签之s:tree/和s:treenode/简单实例
  3. 程序员如何精确评估开发时间?
  4. 如何计算 string 的 crc32 值 ?
  5. 团队项目电梯会议视频
  6. Docker镜像和容器常用命令
  7. linux 源码编译安装apache
  8. 【电脑问题】win10更新后,java环境有问题:Error:missing `server` JVM at `*:\java\jre8\bin\server\jvm.dll`
  9. windows 下杀掉占用端口的程序
  10. centos7文件同步服务器,教你在 Centos7 中使用 Unison 同步文件
  11. wordpress 安装主题显示要配置FTP的解决办法
  12. HTML怎么设艺术字体,用CSS设计艺术字集锦(二)
  13. NLP入门学习3——句法分析(基于LTP4)
  14. webpy快速入门 搭建python服务器
  15. Lecture3 损失函数和优化损失函数
  16. JavaScript js如何代码加密绑定域名
  17. 防止ARP欺骗的简单方法——静态绑定网关
  18. zabbix监控方式(02) - zabbix通过IPMI监控硬件环境(温度和风扇)
  19. 电子杂志制作软件:iebook超级精灵2008金牌版 八项全球首创•八大领先技术
  20. OPPO入股少儿编程教育平台编程猫 官网域名为纯字母域名codemao.cn

热门文章

  1. 基于知识的智能体 笔记
  2. 多VLAN配置DHCP
  3. 编程之美 3.1 字符串移位包含问 复杂度(O(N*K)
  4. 保险公司信息系统审计刍议
  5. can总线学习(二)
  6. 修改本地管理员密码脚本
  7. redhat 登录不慢 传文件很慢
  8. c语言常用单词表格,C语言常用单词
  9. mysql中索引创建 查看和删除语句_MySQL索引的创建、删除和查看(学习中)
  10. Mybatis 与Spring整合及原理