筆者について
FreeBSDを通じてOSSにささかな貢献を。
- 日本xrdpユーザ会発起人
- xrdp developer
- FreeBSD developer
OSS活動をご支援いただける方を募集しています
2011-05-27 lv の唯一にして最大の less に劣る点を修正する俺得パッチ
■ lv が唯一 less に劣る点を修正する俺得パッチ
lv が唯一 less に劣る点は "lv /" とかやるとディレクトリを無理矢理表示してしまう点です。
$ lv / ^B^@^@^@^L^@^D^A.^@^@^@^B^@^@^@^L^@^D^B..^@^@^C^@^@^@^P^@^D^E.snap^@^@^@^@<^C^@ ^L^@^D^Cdev^@^@^\^F^@^L^@^D^Cext^@^E^@^L^@^D^Ctmp^@^@<98>^C^@^L^@^D^Cusr^@^@\^@ ^@^L^@^D^Cvar^@^@À^E^@^P^@^D^Dhome^@ÿÿÿ^@¸^@^@^L^@^D^Cetc^@^@x^F^@^P^@^D^Ddist^@ ÿÿÿ^@p^A^@^L^@^D^Cbin^@^@ô^C^@^P^@^D^Dboot^@ÿÿÿ^@Ô^F^@^L^@^D^Clib^@^@Ì^A^@^P^@^D ^Glibexec^@^@(^B^@^P^@^D^Emedia^@ÿÿ^@<84>^B^@^L^@^D^Cmnt^@^@d^E^@^P^@^D^Dproc^@ÿ ÿÿ^@à^B^@^P^@^D^Frescue^@ÿ^@¬^D^@^P^@^D^Droot^@ÿÿÿ^@0^G^@^P^@^D^Dsbin^@ÿÿÿ^D^@^@^@^L^@ ^Csys^@^E^@^@^@.profile^@À^_^E^F^@^@^@^P^F.cshrc^@ÿ^G^@^@^@^T COPYRIGHT^@^_^@ ^@^@^P^@ ^Fcompat^@ÿ ^@^@^@<88>^Gentropy^@^@<8C>^G^@x^@^D^Dclub^@ÿÿÿ^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
これが less だとちゃんとエラー表示をしてくれます。
$ less / / is a directory
致命的というわけでもないのですが気にくわないのでパッチを作成しました。
これでディレクトリを引数に与えても大丈夫!
$ mylv / / is a directory
grep モードにも対応しています。
$ mylv -g PATTERN /usr/local /usr / /usr/local is a directory /usr is a directory / is a directory
オリジナルの lv だとこんな事になってました。
$ lv -g profile / s.profile.cshrcÿCOPYRIGHT
grep モードで複数のファイルを引数として与えたとき、最後のファイルが存在しないファイルだと Segmenation Fault で落ちるのはオリジナルのバグのようです。
$ lv -g PATTERN /tmp/nonexistence /nonexistence (snip) Segmentation fault: 11 (core dumped)
存在しないファイルが最後でなければ落ちません。
$ lv -g PATTERN /etc/profile /etc/ntp.conf /nonexistence /tmp/nonexistence: No such file or directory /nonexistence: No such file or directory