Unix Bash脚本用于强化/加下/斜体化特定文本

21 unix bash coding-style automator richtext

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

例如:

  1. Embolden/Underline/Italicize以":"结尾的所有行?
  2. (关闭)Embolden/Underline/Italicize以":"结尾的所有行?

我想通过Automator将其设置为服务; 所以使用/bin/bash和操作"选定的文本"(当然,在富文本兼容的文件中).

Chr*_*ell 21

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

underline=`tput smul`
nounderline=`tput rmul`
bold=`tput bold`
normal=`tput sgr0`
Run Code Online (Sandbox Code Playgroud)

然后你可以使用变量调用这些在输出中使用,如下所示:

echo "${bold}bold${normal} text stands out!"
echo "${underline}underlined${nounderline} text does, too."
Run Code Online (Sandbox Code Playgroud)

至于将其自动应用于以特定字符开头的所有行,您最好只使用如上所示的变量.除了使用这种方法更容易之外,它也更清洁,更实用.例如,当使用此方法时,您可以不同地为给定输出字符串中的任意数量的单词设置样式,以便强调特定单词,而不是整个句子(当然,除非这是您的目标).

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