0

Mac端末でsedを動作させるのに問題があります。私が持っている元のバージョンは/usr/ bin / sedです。それがどのバージョンであるかを確認したいので、次のように入力します。

sed --version

次の出力が得られます。

/ usr / bin / sed:不正なオプション----使用法:sedスクリプト[-Ealn][-i拡張子][ファイル...]sed[-Ealn][-i拡張子][-eスクリプト]... [ -f script_file]...[ファイル...]

私のマニュアルページはsed4.2用であり、-versionオプションが必要です

次に、gnuftphttp ://ftp.gnu.org/gnu/sed/からダウンロードして/usr/ local/binにインストールしました。

次に、/usr/local/bin/sed-versionを実行しても、元のバージョンと同じ出力が得られます。私は完全に混乱しています、誰かが私が間違っていることを理解できますか?

編集:どのsedが/ usr / local / bin / sedを与えても、コマンドsedはまだ/ usr / bin / sedを実行しているようです。その結果、/ usr / local / bin/sedは呼び出されません。フルパスで呼び出すと、期待どおりに機能します。

質問は、なぜどのsedが/ usr / local / bin / sedを与えているのに、 sedと入力したときに実行されるコマンドが/ usr / bin/sedであるのかということだと思います。

4

1 に答える 1

2

あなたは、エラーステートメントが示すように/usr/bin/sedサポートしていないBSDsedです。--versionそのためのmanページは/usr/share/man/man1/sed.1.gz、バージョンについての言及がまったくないことを読んだときですが、manページの日付は2005年5月10日です。

間違ったマニュアルページがあると思います。おそらく、MANPATHそれは最初にどこか別の場所を探しています。

あなたが言っている理由について/usr/local/bin/sedは、GNUsedは--version私にはわかりません。これについて詳しく教えていただけますか?

于 2013-03-09T17:10:38.970 に答える