(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Linux】lessコマンドを用いて出力結果を折り返さずに表示する

スポンサーリンク

やりたいこと

以下のように画面で折り返される標準出力を

$ kubectl config get-contexts
CURRENT   NAME                                CLUSTER                             AUTHINFO
                 NAMESPACE
          hoge0/xxxxxxxxxx   hoge0/xxxxxxxxxx  testuser@hoge.com/yyyyyyy
yyyyyyy   default
          hoge1/xxxxxxxxxx   hoge1/xxxxxxxxxx  testuser@hoge.com/yyyyyyy   
yyyyyyy   default
*         docker-for-desktop                  docker-desktop                      docker-desktop

以下のように画面で見切れたとしても折り返さず表示したい。

CURRENT   NAME                                CLUSTER                             AUTHINFO  ...
          hoge0/xxxxxxxxxx   hoge0/xxxxxxxxxx  testuser@hoge.com/yyyyyyy...
          hoge1/xxxxxxxxxx   hoge1/xxxxxxxxxx  testuser@hoge.com/yyyyyyy...   
*         docker-for-desktop                  docker-desktop                      docker-desktop
環境情報
  • Debian GNU/Linux 9
$ less --version
less 551 (PCRE regular expressions)

やり方

出力結果にlessコマンドに-Sオプションを付与して再出力する。

$ kubectl config get-contexts | less -S

以下のように山括弧にて見切れていることが表現される。

CURRENT   NAME                                CLUSTER                             AUTHINFO  ->
          hoge0/xxxxxxxxxx   hoge0/xxxxxxxxxx  testuser@hoge.com/yyyyyyy>
          hoge1/xxxxxxxxxx   hoge1/xxxxxxxxxx  testuser@hoge.com/yyyyyyy>  
*         docker-for-desktop                  docker-desktop                      docker-desktop

以下、補足です。

補足

foldコマンドを利用すれば明示的に折り返すことが可能ですが

$ echo "aaaaaaaaaaaaaaaaaaaaaaa" | fold -10
aaaaaaaaaa
aaaaaaaaaa
aaa                                          

逆に折り返したくない場合は以下のオプションが有効に機能します。

  -S  ........  --chop-long-lines
                  Chop (truncate) long lines rather than wrapping.

以上、ご参考になれば幸いです。