Script Unix Bash pour embolden / underline / italicize texte spécifique

j'ai cherché sur le web des exemples de script Unix Bash qui peuvent gérer le style de texte de base (gras/soulignement/italiques), mais ne peux rien trouver? Est une telle chose possible à faire?

Par exemple:

  1. Enhardir/Souligné/Italique toutes les lignes se terminant par ":"?
  2. (désactiver) Enhardir/Souligné/Italique toutes les lignes se terminant par ":"?

je veux le configurer comme un Service via Automator; donc en utilisant /bin/bash et l'exécution sur "le texte sélectionné" (dans un texte riche de fichiers compatible, bien sûr).

21
demandé sur Andre Silva 2010-12-11 02:52:10

1 réponses

en gros, vous voulez déclarer quelques variables avec le code de style--quelque chose comme ceci:

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

alors vous pouvez les appeler pour les utiliser dans votre sortie en utilisant les variables, comme ceci:

echo "${bold}bold${normal} text stands out!"
echo "${underline}underlined${nounderline} text does, too."

pour ce qui est de l'automatiser pour l'appliquer à toutes les lignes commençant par un caractère spécifique, il est préférable d'utiliser simplement les variables comme indiqué ci-dessus. En plus d'utiliser cette méthode juste être plus facile, il est également plus propre et plus utilisable. Par exemple, lorsque vous utilisez cette méthode, vous avoir la capacité de style n'importe quel nombre de mots dans une chaîne de sortie donnée différemment, de manière à souligner un mot spécifique, pas la phrase entière (à moins bien sûr que ce soit votre but).

http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x405.html et / ou homme tput

20
répondu Chris Cashwell 2011-09-19 23:08:30