Tips

LinuxServer シェルとコマンド操作について テキストファイル処理 その2

prコマンド

prコマンドは印刷のためにファイルを整形し、出力します。
デフォルトでは、それぞれのページに5行のヘッダがつきます。ヘッダは2行の空行、日付・ファイル名・ページ番号の行、2行の空行から構成されます。各ページの末尾には全て空行の5行のフッタも出力されます。

[コマンド書式]
uniq -オプション 入力ファイル名 出力ファイル名

オプション 説明
+開始ページ[:終了ページ] 開始ページ/終了ページを指定します
-h 文字列 ヘッダに表示する文字列を指定します
-l 行数 印刷1ページあたりの行数を指定します
-w 文字数 1行あたりの文字数を指定します

fmtコマンド

fmtコマンドはテキストファイルを指定した幅(デフォルトは75文字)より短い行を結合し、
長い行を分割して出力します。

[コマンド書式]
fmt -オプション ファイル名

-wオプションで1行あたりの文字幅を指定し、「-w 3」とすると、
1行の文字幅を3文字としますが単語は分割されません

[コマンド実行例]fmt.txtを文字幅3で分割しますが単語であるlevelは分割されません
$ cat fmt01.txt
01 aaa level1
02 bbb level2

$ fmt -w 3 fmt.txt
01
aaa
level1
02
bbb
level2

expandコマンド

expandコマンドはファイル内のタブをスペースに変換し出力します。

主なオプションは次のとおりです。

オプション 説明
-i 行頭のタブのみを変換します
-t タブ幅 タブ幅(1つのタブがスペース何個に相当するか)を指定します
デフォルトでは1タブ=8スペースとして変換されます

$ cat expand.txt
01 aaa level1
02 bbb level2
[コマンド実行例]expand.txtの行頭タブだけを幅1のスペースに変更
$ expand -i -t 1 expand.txt
01 aaa level1
02 bbb level2

[コマンド実行例]expand.txtのタブを幅1のスペースに変更
$ expand -t 1 expand.txt
01 aaa level1
02 bbb level2

unexpandコマンド

unexpandコマンドは、expandコマンドとは逆に、テキストファイルの中にあるスペースをタブに変換し出力します。

主なオプションは次のとおりです。

オプション 説明
-a 行頭以外のスペースもタブに変換します
デフォルトでは行頭のスペースのみタブに変換します
-t タブ幅 タブ幅(1つのタブがスペース何個に相当するか)を指定する
デフォルトでは8スペース=1タブとして変換されます

[コマンド実行例]unexpand.txtの行頭スペースをタブに変更
$ cat unexpand.txt
01 aaa level1
02 bbb level2

$ unexpand -t 8 unexpand.txt
01 aaa level1
02 bbb level2

[コマンド実行例]unexpand.txtの全てのスペースをタブに変更
$ unexpand -t 8 -a unexpand.txt
01 aaa level1
02 bbb level2

見た目ではわかりませんが、各結果の空白はスペースからタブに変更されています。

Linux認定資格 LPICを取るなら・・

Linux資格 「LPIC Lv1」徹底解説 連載目次

Recent News

Recent Tips

Tag Search