の GNU 実装を使用して書かれたと思われる sh スクリプトを のsed
BSD 実装に移植していsed
ます。元のコメントを含むスクリプト内の正確な行は次のとおりです。
# escape dot in file extension to grep it
ext="$(echo $ext | sed 's/\./\\./' -)"
次の結果を再現できます(明らかに、すべての可能性のある値を使い果たしているわけではありませんext
):
ext=.h; ext="$(echo $ext | sed 's/\./\\./' -)"; echo [$ext]
GNU の実装を使用するとsed
、以下が返されます。
[\.h]
以下の BSD の実装を使用するとsed
、以下が返されます。
sed: -: No such file or directory
[]
の両方の実装に対してext=.h; ext="$(echo $ext | sed 's/\./\\./')"; echo [$ext]
リターンを実行します。[\.h]
sed
GNU と BSD の両方sed
のマニュアル ページを調べましたが、末尾の「-」については何も見つかりませんでした。「-」でグーグル検索しsed
てもあまり実りがありません。
「-」はタイプミスですか?の予期しない値に必要な「-」はあり$ext
ますか? 問題はsed
ではなく にありsh
ますか?
誰かが私が見るべきものに私を導くことができますか、それとも「-」の目的が何であるかを説明することはできますか?