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

関連情報