第3章 GNUとUnixのコマンド
さて、小豆本を使ったLinuCの勉強をやっていこうか。
正規表現って結構苦手😫
全然覚えらんないんだよな〜😣
3.4 正規表現を使ったテキスト検索
- 正規表現(Regular Expression)
- 任意の1文字:「.」
- 文字クラス:「[」と「]」で囲む。ただし、[^abc]は、abc以外の1文字。
- 行頭:「^」
- 行末:「$」
- 空行:「^$」
- 繰り返し:「*」。0回以上の繰り返し。
- 拡張正規表現では、「{n}」:nは回数
- 特殊文字:正規表現に使われている上記のようなメタキャラクタを文字として使いたい場合は、「\」を使う。
- grepコマンド:ファイルやテキストストリームの中に、正規表現によって表される検索文字列があるかどうかを調べる。
- egrep:拡張正規表現を使う場合。
- +:直前の文字の1回以上の繰り返し
- ?:直前の文字の0回以上の繰り返し
- |:左右いずれかの記述にマッチする
- {n}:直前の文字のn回の繰り返し
- {n,m}:直前の文字のn回からm回の繰り返し
- fgrep:文字列で検索する。
- egrep:拡張正規表現を使う場合。
- sedコマンド:sed(stream editor)は、テキストストリームに対して編集をおこなう。
- d:マッチした行を削除
- s:パターンに基づいて文字列を置換。gスイッチを使うと、マッチ箇所全て置換。
- y:文字を置換。
3.5 ファイルの基本的な編集
- Linuxでは、Unixで標準的に使われているviエディタを拡張した以下のエディタがよく使われている。
- Vim(Vi IMproved), Emacs, nano
- Ubuntuのデフォルトエディタはnano
$ export EDITOR=/user/bin/vim
- vimエディタ
- コマンドモード
- 入力モードへの切り替え:Escキーで戻る。
- i:カーソルの前にテキストを入力する
- a:カーソルの後にテキストを入力する
- I:行頭の最初の文字にカーソルを移動し、その直前にテキストを入力する
- A:行末にカーソルを移動し、その直後にテキストを入力する
- o:カレント行の下に空白行を挿入し、その行でテキストを入力する
- O:カレント行の上に空白行を挿入し、その行でテキストを入力する
- カーソル操作
- h:1文字左へ移動する
- j:1行下へ移動する
- k:1行上へ移動する
- l:1文字右へ移動する
- O:行の先頭へ移動する
- $:業の末尾へ移動する
- H:画面の一番上の行頭へ移動する
- L:画面の一番下の行頭へ移動する
- gg:ファイルの先頭業へ移動する
- G:ファイルの最終行へ移動する
- nG:ファイルのn行目に移動する
- :n:ファイルのn行目に移動する
- viの終了、ファイル保存、シェルコマンドの実行
- :q:ファイルへ保存せずに終了(保存するかどうか確認)
- :q!:編集中の内容を保存せずに終了
- :wq:編集中の内容を保存して終了
- ZZ:編集中の内容を保存して終了
- :w:編集中の内容でファイルを上書き保存
- :e!:最後に保存した内容に復帰
- :r ファイル名:ファイルの内容をカレント行以降に読み込む
- :!コマンド:viを終了せずにシェルコマンドをジッコする
- :r!コマンド:シェルコマンドの実行結果を挿入する
- 編集コマンド
- x:カーソル位置の文字を削除
- X:カーソル位置の手前の文字を削除
- dd:カレント行を削除
- dw:カーソル位置から次の単語までを削除
- yy:カレント行をバッファにコピー
- p:カレント行の下にバッファの内容を貼り付け
- P:カレント行の上にバッファの内容を貼り付け
- r:カーソル位置の1文字を置換
- 検索コマンド
- /パターン:カーソル位置から後方に向かってパターンを検索
- ?パターン:カーソル位置から前方に向かってパターンを検索
- n:次を下方向に検索
- N:次を上方向に検索
- :noh:候補のハイライト表示を解除
- :%s/A/B/:最初に見つかった文字列AをBに置換
- :%s/A/B/g:すべての文字列AをBに置換
- 設定変更
- :set nu:行番号を表示
- :set nonu:行番号を非表示
- :set ts=タブ幅:タブ幅を数値で指定
- vimtutorコマンド:チュートリアル形式で学習できる。
- 入力モードへの切り替え:Escキーで戻る。
- コマンドモード
ふぅ〜!
とりあえずこれで3章は全部終わった。
最初やってたコマンドもほとんど忘れちゃったな😅
※コメント投稿者のブログIDはブログ作成者のみに通知されます