我一直在网上搜索,试图找到可以处理基本文本样式(粗体/下划线/斜体)的Unix Bash脚本示例,但找不到任何东西吗?这样的事情有可能吗?

例如:

  • 对所有以“:”结尾的行进行加粗/下划线/斜体显示吗?
  • (关闭)对所有以“:”结尾的行进行加粗/下划线/斜体显示吗?

  • 我想通过Automator将其设置为服务;因此请使用/bin/bash并对“选定的文本”进行操作(当然,在与富文本格式兼容的文件中)。

    最佳答案

    基本上,您想使用样式代码声明一些变量,如下所示:

    underline=`tput smul`
    nounderline=`tput rmul`
    bold=`tput bold`
    normal=`tput sgr0`
    

    那么您可以使用变量调用它们以在输出中使用,如下所示:
    echo "${bold}bold${normal} text stands out!"
    echo "${underline}underlined${nounderline} text does, too."
    

    至于将其自动化以应用于以特定字符开头的所有行,最好还是使用上面显示的变量。除了使用此方法更加简单之外,它还更干净和更实用。例如,使用此方法时,您可以对给定输出字符串中的任意数量的单词进行样式设置,以强调特定的单词,而不是整个句子(当然这是您的目标)。

    有关更多信息,您应该查看http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x405.html和/或 man tput

    09-10 02:26