📜  Linux 中的 unexpand 命令示例

📅  最后修改于: 2022-05-13 01:57:31.330000             🧑  作者: Mango

Linux 中的 unexpand 命令示例

要将前导空格和制表符转换为制表符,存在一个名为unexpand命令的命令行实用程序。

默认情况下, unexpand命令将每个空格转换为制表符,将生成的输出写入标准输出。这是 unexpand 命令的语法:
句法 :

$unexpand [OPTION]... [FILE]...

其中,OPTION 是指与 unexpand 兼容的选项,FILE 是指文件名。

使用 unexpand 命令

要将文件kt.txt中的所有空格字符转换为制表字符,请使用unexpand as :

$cat -vet kt.txt
have    a    nice    day$
always    try    harder$
to    achieve    better$


/* In the below output $ refers to 
   the new line feed and ^I refers 
   to the tab */
$unexpand kt.txt
have^Ia^Inice^Iday$
always^Itry^Iharder$
to^Iachieve^Ibetter$

为了将 unexpand 命令生成的输出保存在另一个文件中,假设dv.txt使用以下语法:

/* Saving output in file, dv.txt */
$unexpand kt.txt>dv.txt

$cat -vet dv.txt
have^Ia^Inice^Iday$
always^Itry^Iharder$
to^Iachieve^Ibetter$
 

unexpand 命令的选项

  • -a, – -all 选项:此选项用于转换所有空白,而不仅仅是初始空白(默认情况下)。
    /* This converts all the blanks 
       also into tabs */
    $unexpand -a kt.txt>dv.txt
    
  • – -first-only 选项:这用于仅转换前导空格序列(覆盖 -a 选项)。
    /* This converts only the leading
       sequences of blanks */
    $unexpand --first-only kt.txt>dv.txt
    
  • -t, – -tabs=N 选项:这将设置制表符分开 N 个字符,而不是默认的 8 个(启用 -a 选项)。
    /* the -t option with numerical value 
       2 forces to change the spaces
       into tabs of only 2 characters */
    $unexpand -t2 kt.txt>dv.txt
    
  • -t, – -tabs=LIST 选项:此选项使用逗号分隔的制表符位置列表(启用 -a 选项)。
  • – -help 选项:显示帮助信息并退出。
  • – -version 选项:显示版本信息并退出。

另见:展开命令