#cat -concatenate-
$ cat [オプション] ファイルパス
ファイルの内容を出力し、確認することができます。
しかしGUIが入った環境でなかったりすると長文のテキストが書かれたものが見にくいので、表示だけに関しては他コマンドのmore
やless
を使って表示することが多いかもしれません。
- オプション
-
-n
次のように左に行数が出力されます。
-
1 aaa
2 bbb
3 ccc
...
ただ出力して使うことより、cat-concatenate-(連結)とあるようにXとYのファイルを連結して新しいファイルを作成する>
「リダイレクト」や、XにYの内容を追記する>>
「アペンド」を使うことが多いみたいです。
リダイレクションやパイプの説明は別途記事にしようと思います。
$ cat X.txt Y.txt > Z.txt
$ cat Y.txt >> X.txt
リダイレクト結果 : X.txt
,Y.txt
がそのまま残って、XにYを追記したZ.txt
作成。
アペンド結果 : XにYの内容を追記したものをX.txt
に上書き,Y.txt
はそのまま。
リダイレクトのZ.txt
とアペンドのX.txt
の中身は同じです。
###more、less
more ファイル名
less ファイル名
前述で話した通り、ファイルを表示するコマンドでcat
と違ってページング機能があります。
-
more
一定の量をページとして分けて表示し、次ページに飛ぶには「スペース」キー、ページ戻りは「b」キーで操作します。
最後のページで「スペース」キーを押すと終了となります。 -
less
more
との違いは上下にスクロールできるページング機能なことです。
「q」キーを押すと終了になります。
#grep
$ grep [オプション] 検索条件 ファイルパス
cat
は指定したファイルの内容を出力でしたが、こちらはその中の文字列を探し出しそこだけを出力します。
検索条件には正規表現を用いることができます。
これも検索内容をリダイレクションやパイプを用いて運用することが多いので簡潔なものだけを紹介します。
$ grep test sample.txt
sample.txt内のtestという文字列が入った行が出力されます。
もしtestという文字列がなかった場合エラーがでます。
この「標準出力」ではない「標準エラー出力」はリダイレクトの時に注意が必要となります。
- オプション
-
-i
検索条件とファイル双方で、英大文字の区別を行わない。(A=a) -
-v
検索条件とマッチしなかった行を選択する。
-
###正規表現
文字列のパターンを表現する表記法。
よく使いそうなものをいくつか。
-
^
行の先頭。 -
.
任意の一文字。
ca.
で検索をするとcat、car、capなどが対象となる。 -
*
直前の文字の0回以上繰り返し。
ca*t
で検索するとct、cat、caaaatなどが対象となる。 -
+
直前の文字の1回以上の繰り返し。
ca+t
で検索するとcat、caaaatなどが対象となる。 -
?
直前の文字は省略可能。
bes?t
で検索するとbetまたはbestが対象となる。 -
[A-Z]
AからZまでの1文字。 -
[^A-C]
AからC以外の1文字。 -
(A|B)
AかBどちらか。
###エスケープシーケンス
文字列の中に制御コードなどを混在させるときに使う特殊記法。
[ ] ( ) < > { } ; & | ^ ? * $ ` ' " \ ! 、改行、タブ、スペースなどが対象。
これらの前に¥
をつける。
または""
で囲むと文字列として扱われる。
例外として""
の中でも$ ' ¥は更に¥
をつける必要がある。
####参考・引用
WEB
IT用語辞典 e-Words
正規表現とは
Linux die net