目录
内容来源:
【GUN】【unexpand】指令介绍
【busybox】【unexpand】指令介绍
【linux】【unexpand】指令介绍
使用示例:
空格转化成制表符 - 默认输出
空格转化成制表符 - 转换所有的空格
空格转化成制表符 - 指定制表位
常用组合指令:
指令不常用/组合用法还需继续挖掘:
内容来源:
GUN : Coreutils - GNU core utilities
busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客
【GUN】【unexpand】指令介绍
unexpand:将空格转换为制表符
unexpand 将每个给定文件的内容(如果没有给出标准输入,则为标准输入)写入标准输出,将每行开头的空格转换为所需的任意数量的制表符。在默认的POSIX区域设置中,空格是空格或制表符;其他地区可以指定额外的空白字符。
简介:
unexpand [option]... [file]...
默认情况下,unexpand只转换每行的初始空格(所有非空白字符之前的空格)。它在输出中保留退格字符;它们减少选项卡计算的列数。默认情况下,每8列设置一个制表符。
该程序接受以下选项。参见第2章[常见选项],第2页。
‘-t tab1[,tab2]...’
‘--tabs=tab1[,tab2]...’
如果只给出了一个制表位,则将制表符tab1列设置为间隔,而不是默认的8列。否则,在列tab1, tab2,…设置制表符。(从0开始编号),并在给定的制表位之后留下空白。制表位可以用空格分隔,也可以用逗号分隔。
作为一个GNU扩展,最后指定的选项卡可以以' / '作为前缀,以指示用于剩余位置的选项卡大小。例如,--tabs=2,4,/8将在位置2和4处设置制表位,并在此之后设置每个8的倍数。
此外,指定的最后一个制表位可以在前面加上' + ',以表示剩余位置的制表位大小,与最后明确指定的制表位的偏移量。
例如,要忽略diff输出中存在的1个字符的gutter,可以使用--tabs=1,+8指定1个字符的偏移量,这将在位置1,9,17,…这个选项包含-a选项。
为了兼容性,GNU unexpand支持废弃的选项语法,-tab1[,tab2]…,其中制表位必须用逗号分隔。(与-t不同,这个废弃的选项并不意味着-a。)新的脚本应该使用--first-only -t tab1[,tab2]…代替。
‘-a’
‘--all’
还要转换制表位之前的所有两个或多个空格序列,即使它们出现在一行中的非空白字符之后。
退出状态为零表示成功,非零值表示失败。
【busybox】【unexpand】指令介绍
NA
【linux】【unexpand】指令介绍
[root@localhost bin]# unexpand --help
用法:unexpand [选项]... [文件]...
将每个指定文件中的空白字符转换为制表符并写到标准输出。
如果没有指定文件,或者文件为"-",则从标准输入读取。
必选参数对长短选项同时适用。
-a, --all 转换所有空格,包括但不只是起始空格
--first-only 仅转换起始空格(覆盖-a 选项)
-t, --tabs=N 设置制表符宽度为 N 字符而非默认的 8(启用 -a 选项)
-t, --tabs=LIST use comma separated list of tab positions
The last specified position can be prefixed with '/'
to specify a tab size to use after the last
explicitly specified tab stop. Also a prefix of '+'
can be used to align remaining tab stops relative to
the last specified tab stop instead of the first column
--help 显示此帮助信息并退出
--version 显示版本信息并退出
GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 unexpand 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/unexpand>
或者在本地使用:info '(coreutils) unexpand invocation'
使用示例:
空格转化成制表符 - 默认输出
测试结果显示,只有前面是8个空格的才会被转换为制表符,如果空格个数不够,那么就没有变化
指令: unexpand test2.txt | cat -A
空格转化成制表符 - 转换所有的空格
-a 选项。
测试结果显示,虽然介绍说是所有的空格都转化,实际上转化的空格个数不确定
指令:unexpand test2.txt -a | cat -A
1和2之间有8个空格
2和3之间有4个空格
3和4之间有8个空格,实际结果并没有都转成制表符
空格转化成制表符 - 指定制表位
-t 选项 没有搞明白,以后搞明白了再更新
指令: unexpand test2.txt -t 1 | cat -A
常用组合指令:
NA