Tengo un programa que usa printf
algunos tput
mezclados y me gustaría canalizar la salida a stdout, así como a un archivo. Prefiero usarlo sed
ya que no quiero dependencias innecesarias en mi script. Esto es lo que tengo hasta ahora.
printf "\n$(tput setaf 6)| $(tput sgr0)$(tput setaf 7)Sourcing files...\033[m\n" | tee install.log
El único problema con esto es que mi archivo de registro está obteniendo toda la salida de color como tal ...
^[[36m| ^[(B^[[m^[[37mSourcing files...^[[m
Me gustaría que solo tuviera | Sourcing files...
bash
shell-script
bash-script
iamnewton
fuente
fuente
sed
opciones no parecen funcionar.Respuestas:
De acuerdo con la eliminación de colores de la salida , su comando debe ser:
Por razones de conveniencia, también puede crear un alias en
/etc/profile
[Editar]
Con la salida dada puede verificar esto usted mismo:
La salida:
fuente
-r
indicador no parece funcionar en Mac BSD, por lo que traté de usarlo-E
parece ser el más similar y aún se muestra en el archivo de registro como tal ...^[36m| ^[(B^[[m^[[37mSourcing files...^[[m
También vuelve a aparecer| ^[(BSourcing files...
en mi caja de Linux.|xxd
y suTERM
env. var.TERM
=>xterm
.0000000: 1b5b 316d 1b5b 3333 6de2 9aa0 2020 5761 .[1m.[33m... Wa 0000010: 726e 696e 673a 201b 2842 1b5b 6d4e 6f20 rning: .(B.[mNo 0000020: 2f55 7365 7273 2f61 7077 2f2e 6261 7368 /Users/apw/.bash 0000030: 2066 6f75 6e64 2e21 0a found.!.
stripcolors
función porque Mac OS X no entiende la-r
opción para elsed
comando. ¿Asumo que estás en algún tipo de distribución de Linux?