• ベストアンサー

テキストファイル内容の、16進数コードでの検索方法は?

EUC-JPなテキストファイルをその場の環境に応じてLinux、Windowsの両方の環境で書いていると時々行末に余分な制御文字0dH(16進数コード)が入ったりします。 そんな時は、 $ sed -e "s/\x0d$//" INPUT_FILE > OUTPUT_FILE としています。 これに関連して、Linux上で、エディタを開かずにテキストファイル内の 0dH の有無を確かめるにはどのようなコマンドが適切でしょうか。(いちいち調べずに、sedに流し込めばよいのですが) なお、下記では、検索できませんでした。 $ grep "\x0d" INPUTFILE 2006年2月11日 RASUM2

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4852/10267)
回答No.4

grep には引数を十六進指定する機能は無いので、シェルの機能に頼ることになります。 bashなら、$'…' という記法が使えるので(詳細はman bash の $' の説明参照)、 grep $'\x0d' INPUTFILE と書けます。

RASUM2
質問者

お礼

notnot様、ありがとうございます。 16進コードでファイルの内容を検索できるようになりました。 的確なアドバイスのお蔭で、grepとbashの機能の理解を深めることができました。 2006年2月12日 RASUM2

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.3

>コマンドに16進コードを指定してテキストファイルの内容を検索する方法はないでしょうか。 egrep "\x0d" INPUTFILE もしくは、 grep -e "\x0d" INPUTFILE でも、いけそうな気がしてきました。 すみません。体調崩して自分では試してないですけど。

全文を見る
すると、全ての回答が全文表示されます。
  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.2

#1です。ごめんなさい。さっきのじゃ駄目ですね。 grep -f "ファイル名" INPUTFILE で、ファイル名のところにLFだけ書いたファイルを用意するのはどうでしょう?

RASUM2
質問者

お礼

t_nojiri様、ありがとうございます。 > grep -f "ファイル名" INPUTFILE 上記で検索できました。 しかし、 いろいろな制御コードに応用するにはいちいちファイルを作らなければならない。 「0x0dHはCtrl+Mである」といったことを把握しておかなければならない。 という不便さがあります。 コマンドに16進コードを指定してテキストファイルの内容を検索する方法はないでしょうか。 2006年2月11日 RASUM2

全文を見る
すると、全ての回答が全文表示されます。
  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.1

>なお、下記では、検索できませんでした。 >$ grep "\x0d" INPUTFILE grep -a "\0d" INPUTFILE ではどうでしょう?

参考URL:
http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • BOMを含むテキストファイルを検索する方法

    複数のテキストファイルがあるのですが、その中からBOMが不可されているテキストファイルを知りたいのです。 できればWindowsではなく、Linux上でできるといいのですが、grepなどで検索することはできるのでしょうか。ffefという2バイトを含むということでいいと思ったのですが、それをどのようにして指定してやればいいのでしょうか。

  • テキストファイル検索

    テキストファイル検索(grep)の際に、ある文字を含まないファイルを検索できるものはありますか。 また、一般的なエディタでは普通可能でしょうか。 #サブフォルダも対象 #本文の中のある文字列を含まないものを検索したい

  • grep検索のできるモバイル端末を探しています。複数のテキストファイル

    grep検索のできるモバイル端末を探しています。複数のテキストファイルについて、グレップ検索ができるテキストエディタなどが搭載されている(または搭載可能な)PDAはないでしょうか。ザウルスなどの旧機種ではなく、現在生産中の機種でお願いします。

  • VBAでテキストファイルを保存

    VBAでテキストファイルを保存したいのですが、EUCで保存できません。 EUCで保存するにはどうしたらいいのでしょうか? Open myFile For Output As #myNo です。

  • テキストファイルに特定の文字を・一気に追加していく方法について

    テキストファイルに特定の文字を・一気に追加していく方法について ------------------------ テキスト1 テキスト2 ~ テキスト100 ------------------------ といった具合に、箇条書きになったファイルが大量にあるのですが、行頭・行末それぞれに、特定の文字列を追加していきたいと思っています(行頭には□マーク、行末には。を追加したいです)。ただ、手作業で行っていたのでは時間が掛かるので、一括で追加したいです。 可能であれば方法を教えてください。 また、そのような機能を備えたテキストエディタ・又は置き換えツール(両者ともフリーソフトでお願いします、、、)をご存じないでしょうか? 現在、使用しているテキストエディタはテラパッドで、OSはvistaです。

  • 別のOSで作成されたテキストファイルの閲覧

    Linux環境で作成されたテキストファイルをWindows環境で閲覧するようなエディタはありませんでしょうか? EmEditorや秀丸で展開しても日本語部分が文字化けしてしまうのです。 ちなみに作成元の環境はredhat、エディタはemacsです。 お願いします。

  • Linuxにてテキストファイル出力の文字コード

    RedHatLinux7.3(2.96-110)、gccバージョン(2.96 20000731)にて、 C言語のアプリケーションを初めて作成しています。 そのアプリ内でテキストファイル(日本語あり)を 作成するのですが、どうも期待どおりの結果になりません。 というのも、出来上がったファイルの文字コードが、 EUCではなくShift-JISになってしまっています。 Linuxで作成したアプリをLinuxで実行するのですから、 出来上がるファイルの文字コードはEUCになるはずですよね? ちなみに、文字コードの確認は「kcc -c XXXXX.log」でおこないました。 もしかして「アプリケーションログを日本語出力する」 なんていうことが、そもそもの過ちなんでしょうか? ファイル出力には、fopen+fprintfを使っています。 どうしてこのような結果になってしまうのか、ご存知のかた、よろしくお願いします。

  • テキストエディタの標準の文字コードについて

     EUC_JP で 例えば「あ」の一文字を保存したファイルを Windows 上で 秀丸などのテキストエディタで、 標準の文字コードを 自動選択にした場合に文字化け して画面に表示されますが、 標準の文字コードを EUC に設定して、開きなおすと 正しく表示されます。  ファイルを開くとき、エディタとOSは、どのような 処理をしているのでしょうか? 何かの パラメタ 付き API を発行して EUC での文字 コードに適したフォント、グリフが選択されて、画面 に表示されているのでしょうか? ( 実際の API 名があるのなら教えてください。 )

  • サクラエディタのGrep機能について

    サクラエディタについての質問です。 テキストファイルAから単語BでGrepした結果テキストファイルCから 更に単語DでGrepする方法をご存知ではありませんでしょうか? 一旦保存せずに、続けてGrepしたいと思ってます。 秀丸では、できるのですが・・・ 宜しくお願いします。

  • エディターを紹介してください

    SE&プログラマーです。テキストエディターの使いやすくて簡単なものをご紹介ください。友人には「EMEDITOR」を紹介してもらいましたが、使うのが難しそうです。今は「cygwinでvi」を使っています。 必要な点はテキストのプログラムの修正です。以前UNIXをやっていましたので、そのため今はPCにcygwinを入れて、UNIXコマンドを使っています。「sed.grep.find」特にgrepはよく使います。grep(「多くのテキストファイル内の、ある指定文言と合致する行を表示させるコマンド)「grep "修正箇所" * -g」(*はすべてのファイルの意)多くのテキストファイル内の「修正箇所」という文言を含む行を表示、またリスト化もできます。「sed」は多くのファイル内の指定文字列を一括で置換してくれます。「find」はDIR内を下にもぐりながらファイル名検索をおこなえます。などの機能があります。 通常エディターは1ファイルを指定して、その中の文言修正をおこないますが、私は上述のように(例)いろいろなdirに散らばったファイル(プログラム)をある文言で探し出し、その箇所を画面の中央部に表示し、その上下関係を見ながら文言修正し、書き込む、そして次のファイルを修正するといった使い方がメインです。このようなのに理想的なエディターを探しています。よろしくお願いします。 (cygwin+viでも多くのことがかなえられますが、パソコンをフォーマットしなおすことが多く、毎回cygwin+viを正確にインストール(環境を整える)のが面倒なのです)