"cat"コマンドのタブサイズの変更

"cat"コマンドのタブサイズの変更

私が入ったら、次のようにvimタブのサイズを変更できます。

:set ts=4

catコマンド出力のタブサイズも設定できますか?

答え1

最初のコマンドはここにあります。編むに表示される形式ですvim。 4列ごとにタブストップ(ts)設定に基づいて、タブを同じ数のスペースにインテリジェントに拡張します。

printf "ab\tcd\tde\n" |expand -t4   

出力

ab  cd  de

維持するためにタブ〜のようにタブそしてタブがあります。止める場所が4列ごとに設定されている場合は、環境でtab-charを使用する方法を変更する必要があります(vimがコマンドを使用しているかのように:set ts=4)。

たとえば、端末ではタブを設定できます止める4に変更するには、このコマンドを使用します。

tabs 4; printf "ab\tcd\tde\n" 

出力

ab  cd  de

答え2

次のコードを使用してください。

tabs -n

ここで、nはタブ文字に対応するスペースの数です。シェルを起動するたびにこれを行う必要がないようにするには、上の行を編集して.bash_profileファイルの~/末尾に追加します。

タブコマンドの詳細については、次を参照してください。

man tabs

答え3

;タブやタブ停止の概念はありませんcat。このプログラムは単に入力を出力に送り、タブを別の文字として扱います。出力デバイスが端末の場合、タブは端末構成によって提供される動作に従って処理されます。

tabs(1)POSIX.1を実装するシステムには、端末がタブの概念を表示する方法を調整するコマンドがあります。特定のタブレイアウトによっては、他の人がファイルを他のデバイス(期待どおりに機能しないプリンタ)に送信する可能性があるため、良い考えとは見なされません。

tsvim(または一般的に)調整する必要があるのは、表示されるviときにエディタがタブ文字を解釈する方法を調整することだけです。ファイルの最終内容とは何の関係もありません。

答え4

すでに提供されている回答を拡張するには、expandタブ停止位置のリストを取得することもできます。これは、個々の列のコンテンツの長さが大きく異なる場合に便利です。

今日の出力をより読みやすくしたいときは、openssl ciphers次の要件を見つけました。

$ openssl ciphers -v 'HIGH'|tr -s ' ' '\t'|expand -t31,41,57,70,90
ECDHE-RSA-AES256-GCM-SHA384    TLSv1.2   Kx=ECDH         Au=RSA       Enc=AESGCM(256)     Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384  TLSv1.2   Kx=ECDH         Au=ECDSA     Enc=AESGCM(256)     Mac=AEAD
ECDHE-RSA-AES256-SHA384        TLSv1.2   Kx=ECDH         Au=RSA       Enc=AES(256)        Mac=SHA384
ECDHE-ECDSA-AES256-SHA384      TLSv1.2   Kx=ECDH         Au=ECDSA     Enc=AES(256)        Mac=SHA384
...
ECDH-ECDSA-AES128-SHA          SSLv3     Kx=ECDH/ECDSA   Au=ECDH      Enc=AES(128)        Mac=SHA1
AES128-GCM-SHA256              TLSv1.2   Kx=RSA          Au=RSA       Enc=AESGCM(128)     Mac=AEAD
AES128-SHA256                  TLSv1.2   Kx=RSA          Au=RSA       Enc=AES(128)        Mac=SHA256
AES128-SHA                     SSLv3     Kx=RSA          Au=RSA       Enc=AES(128)        Mac=SHA1

CAMELLIA128-SHA                SSLv3     Kx=RSA          Au=RSA       Enc=Camellia(128)   Mac=SHA1
PSK-AES128-CBC-SHA             SSLv3     Kx=PSK          Au=PSK       Enc=AES(128)        Mac=SHA1

onlyを使用すると、expand -t31出力幅は約100文字から160文字以上に拡張されます。

関連情報