Solaris/Linux - tput 命令 + 创建粗体文本

Solaris/Linux - tput 命令 + 创建粗体文本

如何使用输出命令(我有一台 Solaris 机器)?

例如,我只想将“24-09-2009 16:17:45”等所有其他日期和时间加粗。

tput 将写入我的 ksh 脚本。

  TIMESTAMP               SET_ID TELEPHONE                    No TYPE
  ------------------- ---------- -------------------- ---------- ------------------

  24-09-2009 16:17:45          0 33633333333                  20 other_mms_phone
  24-09-2009 17:45:07          0 33644444444                  20 other_mms_phone
  07-10-2009 10:45:49          0 12312312312                  20 legacyphone
  07-10-2009 11:46:38          0 59320000043                  20 other_mms_phone

尝试用这个解决方案-但是在我的 Solaris 机器上不起作用?

       awk 'NR>2' output.csv | sed 's/^\(.\{2\}\)\(.\{19\}\)/\1'$(tput rmso ) '/' 

非法变量名。

答案1

awk 'NR>2' inputfile.txt |\
sed 's/^\(.\{2\}\)\(.\{19\}\)/\1'$(tput smso)'\2'$(tput rmso)'/'
  1. awk跳过标题,
  2. sed 选取字符 2 之前的所有字符并将它们放入组 中\1,并选取接下来的 19 个字符并将它们放入组 中\2,然后在组 2 之前和之后插入tput smsotput smso(根据 开始和结束加粗)。man tput

相关内容