人生のエラー集 -3ページ目

人生のエラー集

バグ出し率トップを誇るへっぽこプログラマーが発生させたエラーをメモのために残します。
同じエラーで悩む人の解決策になりますように…

趣味のことも書いたりしますが。

シェルの中でgrep実行中にunknown devices methodが出ました。

日本語ではデバイスに対する不明な操作ですって表示されます。

 

内容的にはこんな感じです。

VALUE="-This is a sample"

LINE=`cat test.txt | grep "$VALUE"`

 

変数の値に合致する行をテキストファイルから取得するっていう処理だったんですけど、

VALUEの先頭が「-」で始まる場合、grepをかけると今回のエラーが出るらしいです。

オプションだと思って処理しようとしてるみたいですね。

unknown devices methodだけ出されても解決方法がわからなくて苦労しました。

 

「grep 先頭 ハイフン」でググれば解決方法も出ています。

個人的なオススメは、

LINE=`cat test.txt | grep -- "$VALUE"`

です。オプションでハイフンを2つ重ねれば以降の文字列でハイフンが出てきてもオプションだとみなさなくなります。

 

以上でした。

なかなか骨の折れる原因調査だったのですが解決できてよかったです。

ただ、今回のエラーはメッセージ的に他の操作でも出てきそうなので、当てはまらない人がいたらすいません。

 

仕事終わりに甘いものでもいかがでしょうか。