LinuxServer シェルとコマンド操作について テキストファイル処理
Linuxではテキストデータを処理するための様々なコマンドが用意されています。
ファイルを編集せずに表示させるコマンドには次のものがあります。
catコマンド
catコマンドはファイルの内容を標準出力へ出力します。
複数のファイルを指定した場合、ファイルを連結して出力できる上、
リダイレクトを使用して結合ファイルを結合することもできます。
[コマンド書式]
cat -オプション ファイル名
主なオプションは次のとおりです
オプション | 説明 |
-n | 全ての行に行番号を付けて表示します |
-b | 空白でない行に番号を付けて表示します |
-e | 各行の最後に「$」を付けて表示します |
[コマンド]test.txtに行番号を付けて表示
$ cat -n test.txt
1 Command
2 writes
3 to
4 standard
5 output
6 the
7 contents
8 of
9 each
10 file
11 that
12 you
13 specify
14 .
[コマンド実行例]リダイレクトを使用し、2つのファイルを1つに結合します
$ cat test01.txt test02.txt > test0102.txt
moreとless
moreコマンドもlessコマンドもファイルをページ単位で表示するコマンドです。
moreコマンドではファイルの終端まで達するとコマンドが終了しますが、
lessコマンドでは終了しないなど、moreコマンドに比べlessコマンドは
機能が多くあります。
moreコマンドで使用できるサブコマンドには次のものがあります。
サブコマンド | 説明 |
Space f(Ctrl + f) |
下方向に1画面分スクロールします |
b(Ctrl + b) | 上方向に1画面分スクロールします |
/検索文字列 | 指定した文字列を検索します |
n | 検索した文字列の次候補に移動します |
q | moreコマンドを終了します |
lessコマンドで使用できるオプションとサブコマンドには次のものがあり、
オプションはlessコマンド実行中にも使用可能です。
オプション | 説明 |
-m | プロンプトに行のパーセンテージ表示します |
-M | プロンプトに行のパーセンテージと行番号を表示します |
-N | 行番号を表示します |
-n | 行番号を非表示にします |
サブコマンド | 説明 |
Space f(Ctrl + f) |
下方向に1画面分スクロールします |
b(Ctrl + b) | 上方向に1画面分スクロールします |
j | 下方向に1行スクロールします |
k(Ctrl + b) | 上方向に1行スクロールします |
/検索文字列 | 指定した文字列を検索します |
n | 検索した文字列の次候補に移動します |
N(Shift + n) | 検索した文字列の前候補に移動します |
g | ファイルの先頭に移動します |
G(Shift + g) | ファイルの末尾にに移動します |
q | moreコマンドを終了します |
nlコマンド
nlコマンドはテキストファイルをヘッダ、本文、フッタの3つのセクションから構成される論理ページとみなし、それぞれに行番号を付けて標準出力に出力します。
それぞれのセクションの区切りは次の行を使用します。
::: ヘッダの開始を意味する行
:: 本文の開始を意味する行
: フッタの開始を意味する行
[コマンド書式]
nl -オプション 形式 ファイル名
主なオプションは次のとおりです
オプション | 説明 |
-h | 指定した形式でヘッダに行番号を付けて表示します |
-b | 指定した形式で本文に行番号を付けて表示します |
-f | 指定した形式でフッタに行番号を付けて表示します |
形式 | 説明 |
a | 全ての行 |
t | 空白以外の行 |
n | 行番号を付加しない |
[コマンド実行例]baで本文全てに行番号を付けて表示
$ nl -ba nlba.txt
1 Also
2
3 a
4 blank
5 line,
6 to
7 grant
8 number