コマンドの混乱: sed '/^#/d' ~/.profile

コマンドの混乱: sed '/^#/d' ~/.profile

このコマンドが何をしているのかを知る必要があります。

sed '/^#/d' ~/.profile

このコマンドが提供する出力は次のとおりです。

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

私は次のコマンドを知っています。

sed '/^$/d' file.txt

から空白行を削除することを意味しますfile.txt

私はこれが#コマンドやコメントの終わりを意味できることを知っています。

私は$それがコマンドが開始されることを意味することを知っています。

具体的なコマンドは何ですか?

sed '/^#/d' ~/.profile

する?

ベストアンサー1

コマンドsedライン

sed '/^#/d' ~/.profile

~/.profile次の2行のうち、最初の行のように、ファイルの行の先頭から始まるすべてのシェルコメントを削除しますが、2行目は削除しません。

# comment
  # indented comment

これは#行の先頭( )で^一致を試み、d一致する行を削除()します。

シェルスクリプトからインデントされたコメントを削除するには、次のようにします。

sed '/^[[:blank:]]*#/d' file

[[:blank:]]スペース文字と水平タブ文字と一致します。


$コマンドラインに何かを入力するように指示するためにシェルが使用する一般的なプロンプトであるため、「コマンドの開始」を意味します。

#シェルでコメントを紹介する文字です。入力1sedでaを一致させる以外に、スクリプトに役割はありません。私はそれが「コマンドの終わり」を意味するのを見たことがありません。#


1この役割は、コマンド間で使用されている場合は#スクリプトにコメントを追加します。sed

おすすめ記事