【问题标题】:how to display spaces and tabs using unix and the "cat" command如何使用 unix 和“cat”命令显示空格和制表符
【发布时间】:2017-03-01 06:33:05
【问题描述】:

我试图弄清楚如何通过 unix 显示文件的内容,其中空格和制表符以某种方式标记。我知道如何使用标签显示文件(又名cat -T filename),但我一直在尝试弄清楚如何显示空格。 cat -A filename 对我不起作用,只用^I 替换选项卡并将$ 放在行尾。如何利用cat 打印出所有制表符和空格都清晰标记的文件?

【问题讨论】:

  • 您希望如何使空间可见?应该显示什么字符?当替代项出现在输入中时应该怎么做?

标签: unix


【解决方案1】:

有一个用于字符替换的标准 unix 工具。在此示例中,我将替换 * 的空格和 & 的制表符:

$ cat tmp
space tab   space   tab end
tab space   tab space end
$ cat tmp | tr " " "*" | tr "\t" "&" 
space*tab&space&tab&end
tab&space&tab*space*end

【讨论】:

  • 这可以在一个 tr 调用中完成:tr " \t" "*&"
【解决方案2】:

您的问题的答案:不,cat 命令不能将空格“显示”为可见字符。它只是不包含这样的功能。 Cat 仅提供 -T(显示选项卡)或 -E(显示换行符)或 -A(显示两种类型)。

我认为 palako 是想说这个,但他却直接跳出来为你提供了一个解决方法,这是有效的。如果您希望在视觉上计算空间,那很好。有许多解决方法,但并非所有方法都适合所有用户。

如果您需要不同的东西,我建议您研究 Perl 单行符(因为它们可以很容易地适应现有的 UNIX 脚本),或者用 Python 编写一些模仿“猫”但用另一个字符替换空格的东西,就像 palako 的“ tr”的例子。

【讨论】:

    猜你喜欢
    • 2014-10-22
    • 1970-01-01
    • 2011-09-26
    • 2021-07-15
    • 2018-10-04
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多