1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

シェルでコメントやアンコメントを一括で行う方法

2022-02-09 10:53:12
void glReadPixels(GLint x, 

                  GLint y, 

                  GLsizei width, 

                  GLsizei height, 

                  GLenum format, 

                  GLenum type, 

                  GLvoid * data); 




上のシェルは、1から6を順番に表示します。

5と6だけを表示したい場合、各行の前に#を付けてコメントアウトする通常のやり方に加えて、1~4をコメントアウトしたいとします。

I. コメントを手動で追加する

また、トリッキーな方法を使って、次のように書くこともできます。

glGetIntegerv(GL_IMPLEMENTATION_COLOR_READ_TYPE,&eReadType); 
glGetIntegerv(GL_IMPLEMENTATION_COLOR_READ_FORMAT,&eReadFormat); 

コロンはシェルのコマンドで、何もしないことを意味します

また

: > data.log は、cat /dev/null > と同等であり、ファイルの内容をクリアする役割を果たすことができます。

また、1-4からの入力をリダイレクトしてブラックホールに追記することも可能です

#! /bin/bash
cat >/dev/null<<EOF
echo "1"
echo "2"
echo "3"
echo "4"
EOF
echo "5"
echo "6"

II. vimを使ってコメントを一括で追加する

1. ブロック選択モード

コメントの挿入
まず、操作したいスクリプトをvimで開きます。

次に、操作したい最初の行にカーソルを移動し(ここでは echo "1" の左側に移動)、v を押して --visual--mode を入力します。

次に、上下のキーを使ってコメントする行を選択します(ここでは、下矢印キーを使って echo "4" の行まで移動しています)。

次にctrl+v(win環境ではctrl+q)を押してカラムモードにします。

大文字の "I" を押して挿入モードに入り、コメント文字 "#" または "//" を入力し、すぐに ESC (2回) を押します。

最終的には以下のようになります。

コメントなし

ctrl + v でブロック選択モードになり、削除したい行の先頭にあるコメント記号を選択します、 // 2つ選択されていることに注意してください。

選択後、dキーを押すとコメントが削除されます

方法2 置換コマンド

一括アノテーションを行います。

指定した行の先頭に、次のコマンドでコメントを追加します。

<ブロッククオート

開始行番号,終了行番号 s/^/コメント文字/g

ここでは2行目から5行目までを作業しているので、vimでスクリプトを開いた後、次のように入力します。

:2,5s/^/#/g

次にEnterで置換を完了します。

注釈なし。

開始行番号,終了行番号 s/^comment character//g

ここでは

:2,5s/^#//g

入る

以上、シェルで一括してコメントやアンコメントをする方法を詳しく説明しましたが、シェルのコメントについては、スクリプトハウスの他の関連記事にも注目してください!