検索
連載

【 tabs 】コマンド――端末のタブ位置を変更するLinux基本コマンドTips(166)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、端末のタブ位置(タブストップ)を変更する「tabs」コマンドです。

Share
Tweet
LINE
Hatena
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、端末のタブ位置(タブストップ)を変更する「tabs」コマンドです。

tabsコマンドとは?

 「tabs」コマンドは、端末のタブストップを設定するコマンドです。



tabsコマンドの書式

tabs [オプション] タブストップ

※[ ]は省略可能な引数を示しています。




tabsの主なオプション ※1

短いオプション 意味
-d 設定したタブ位置を表示する(デバッグモード)
-n タブの指定内容が正しいか確認する(実際には設定しない)

※1 この他、COBOLフォーマット用のオプション(-c)、FORTRAN用のオプション(-f)などがある。





タブストップの間隔を設定する

 エディタなどを使ってテキストを入力する際、[TAB]キーを使って文字の桁位置をそろえる使い方が一般的です。端末でも、タブコード(ASCIIコード0x09)が入っている場合、タブコードの次の文字を特定の位置に表示します。この位置のことを「タブストップ(tab-stop)」と呼びます。

 端末ではタブストップが通常は8桁で設定されています。これを2桁ごとにするのであれば「tabs -2」、6桁ごとにするのであれば「tabs -6」と指定します。デフォルトの8桁に戻す場合は「tabs -8」とします。

 tabsコマンドによる設定は、tabsコマンドを実行した端末に限られます。どの端末でも有効にしたい場合は、bashの設定ファイル(~/.bash_profileなど)に記述するとよいでしょう。

 なお「-」記号は省略可能です。コマンド実行例や画面では、オプションと区別しやすくするため、ハイフンを使っていません。

 タブストップを設定する際、「-d」オプションを付けて実行すると、設定した位置を「*」で表示します。

コマンド実行例

tabs 8

(タブストップを8文字間隔に設定する)

tabs -d 8

(設定した位置も表示する)


 画面1では、「1001〜1020」の範囲で整数をタブ区切りし、出力したテキストファイルを表示しています ※2。画面の端末の幅は80桁です。

 なお、筆者がCentOSやUbuntu上で試した限り、タブストップの設定にかかわらず、画面の右端には必ずタブコード(0x09)以外の文字が表示されました。

※2 「seq 1001 1020 | tr "\n" "\t" | sed "s/$/\n/" > tabsample.txt」で作成。seqコマンドで1001から1020を出力し、trコマンドで改行をタブに変換し、sedコマンドで末尾に改行を入れている。



画面1
画面1 タブストップを設定し、設定位置(*)を表示したところ catコマンドでタブを含むテキストを表示した


タブストップを任意の位置に設定する

 タブストップは一定間隔でなくても構いません。「tabs 10,30,60」のように、任意の位置に設定できます。区切り文字をカンマではなく、空白にして「tabs 10 30 60」のように指定できます。

 「+20」のように「+」記号付きで指定すると、直前のタブストップからの間隔を指定したことになります。以上の指定を混在することも可能です。

コマンド実行例

tabs 10,30,60

tabs 10 30 60

tabs +10 +20 +30

tabs 10 30 +30

(いずれも、タブストップを10、30、60に設定している)


 画面2では、設定位置を分かりやすくするため「-d」オプションを付けて実行しています。

画面2
画面2 タブストップの間隔を指定する「+」を使ったところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る