QA@IT
«回答へ戻る

回答を投稿

由来などがまとまっているサイトは知らないですが、ソースのコミット履歴をたどると、物によっては面白い結果が出てきそうです。

ということでGNU grepを調べて見たところ、grepのvオプションはinvertのvとも言えますが、revertのvとも言えるようです。

GNU grepのFirst commit(1998年11月)の時点では同様のオプションがrevert-matchとして提供されており、この時点で省略表記は-vとなっています。

Miscellaneous:\n\
 -s, --no-messages suppress error messages\n\
 -v, --revert-match select non-matching lines\n\
 -V, --version print version information and exit\n\
 --help display this help and exit\n"));

http://git.savannah.gnu.org/cgit/grep.git/diff/src/grep.c?id=06b9f7e683e7650804cadd9a4c5cf6bff6c89625

その9ヶ月後の1999年8月にKarl Berryさんからの提案を受けてinvert-matchに変更されたようですが、メーリングリストのアーカイブが2004年までしか公開されていないため、このやり取りについては追いかけられませんでした。
http://git.savannah.gnu.org/cgit/grep.git/commit/?id=aee993f557e9933c20d6e4753bf4ef2ee857b363

ここからは想像です。
--revert-matchという名前から略称をつけようとした時点では再帰オプションは無かったようですが、後々の実装を考えれば-rは--recursive用に残しておくでしょう。
とすると、次の子音であるv・・・という考えが働いたのかもしれません。

由来などがまとまっているサイトは知らないですが、ソースのコミット履歴をたどると、物によっては面白い結果が出てきそうです。

ということでGNU grepを調べて見たところ、grepのvオプションはinvertのvとも言えますが、revertのvとも言えるようです。

GNU grepのFirst commit(1998年11月)の時点では同様のオプションがrevert-matchとして提供されており、この時点で省略表記は-vとなっています。

```c
Miscellaneous:\n\
 -s, --no-messages suppress error messages\n\
 -v, --revert-match select non-matching lines\n\
 -V, --version print version information and exit\n\
 --help display this help and exit\n"));
```
http://git.savannah.gnu.org/cgit/grep.git/diff/src/grep.c?id=06b9f7e683e7650804cadd9a4c5cf6bff6c89625


その9ヶ月後の1999年8月にKarl Berryさんからの提案を受けてinvert-matchに変更されたようですが、メーリングリストのアーカイブが2004年までしか公開されていないため、このやり取りについては追いかけられませんでした。
http://git.savannah.gnu.org/cgit/grep.git/commit/?id=aee993f557e9933c20d6e4753bf4ef2ee857b363

ここからは想像です。
--revert-matchという名前から略称をつけようとした時点では再帰オプションは無かったようですが、後々の実装を考えれば-rは--recursive用に残しておくでしょう。
とすると、次の子音であるv・・・という考えが働いたのかもしれません。