• ベストアンサー

excelのファイルの文字を検索して表示したい

centosで、excelのファイルの文字を検索してターミナル上に表示したいのですが、うまくいきません。 オウムガイと言う文字があるexcelのファイルがあるデイレクトリで、 strings -f /root/cent/* | grep -i オウムガイと実行してもstrings: '/root/cent/cent': No such fileと出てしまいます。 良い方法があれが御教えください。 また、DOSでもそのような方法があれば御教えください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

stringsはバイナリファイルから探すコマンドなので探せると思いますよ。 ただ、探す文字がどんな日本語コードで入っているかが。 UTF-16なら探す文字をUTF-16で指定してあげないと見つからないかと。 searchedString="`echo オウムガイ | iconv -f EUC-JP -t UTF-16`" env LANG=ja_JP.UTF-16 strings -f -e l * | env LANG=ja_JP.UTF-16 grep ${searchedString} ※ UTF-8端末ならEUC-JPをUTF-8に変えるなど調整は必要かと思いますが。

hoto345
質問者

お礼

出来るんですね!! やってみます。ありがとうございます。お忙しい中大変ありがとうございました。

hoto345
質問者

補足

やってみました。どこに不具合があるかよろしければ御教えください。 カレントデイレクトリから検索するのでしょうか? 場所を指定することは出来るのでしょうか? [root@localhost cent]# searchedString="`echo オウムガイ | iconv -f EUC-JP -t UTF-16`"env LANG=ja_JP.UTF-16 strings -f -e l * | env LANG=ja_JP.UTF-16 grep ${searchedString} Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information. iconv: 位置 0 で不正な入力シーケンスがありました strings: 'cent': No such file

その他の回答 (5)

回答No.6

素直に全文検索システムのNamazuやHyper Estraierなどを導入したらどうですか?

hoto345
質問者

お礼

検討します。 officeツールの文字を検索するのに適しているものがあれば御教えください

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.5

#2です。あまりどうでもよくないので念のために言っておきますが、CentOSなら(何もしてなければ)charsetはUTF8のはずです。 というかEUC-JPは今ではほとんどデフォルトのcharsetとしては使われてません。

hoto345
質問者

お礼

わかりました。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.3

no such fileを吐くってことは、/root/centにcentというディレクトリがいてワイルドカードの展開対象になる→ファイルでないので 読み込めない→エラーの流れでしょうかね。 エラーを回避しつつコマンドを通すなら、 find /root/cent -type f -exec strings -f {} \; | grep -i オウムガイ とか。 ただし#2で言われている通り文字コードが一致しないでしょうからあまり意味はないかも。

hoto345
質問者

お礼

ありが当御座います。 テキストファイル以外からの文字抽出は不可能なのかもしれませんね。

  • yorozu_ya
  • ベストアンサー率54% (76/140)
回答No.2

文字コードの違いだと思いますよ。 ExcelはタブンUTF-16ではないかと。 Linuxの方はEUCかな。

hoto345
質問者

お礼

ありが当御座います。 テキストファイル以外からの文字抽出は不可能なのかもしれませんね。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

xlsファイルはバイナリだから見つけられなくて正解だろうと思います。 csvファイルにすれば見つけられると思いますが、書式などを失います。 xlsファイルを解析するツールを介在させないと無理と思うんですけどいかがでしょう。

hoto345
質問者

お礼

ありが当御座います。 テキストファイル以外からの文字抽出は不可能なのかもしれませんね。

関連するQ&A