grep '検索文字' ファイル名1.dat>>ファイル名_k.dat
grep '検索文字' ファイル名2.dat>>ファイル名_k.dat
.
.
.
と、書いてあるファイルをchmodで実行ファイルにして実行したら、
"ファイル名_k.dat\r"というのが出きていて、このファイルを見る
こともできないし、消すこともできません。
この\rは何を意味しているものなのでしょうか?
知っているひとがいたらよろしくお願いします。

また、文字検索を行って一つのファイルにまとめる他の方法も、
教えてください。
お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

シェルスクリプト(あるいはバッチファイル?)を書いたエディタの


改行コードが合ってなかったのでしょう。

改行コードはOSによって以下のように違います。
Unix---:LF (\n)
Windows:CR+LF (\r\n)
Mac----:CR (\r)
(CRは復帰、LFは改行という1文字をあらわしています)

Windowsのエディタでそのまま
>grep '検索文字' ファイル名1.dat>>ファイル名_k.dat
と書くと、実際のファイルには、
>grep '検索文字' ファイル名1.dat>>ファイル名_k.dat+CR+LF
と書きこまれます。
これをUnixで評価すると、LFのみが改行なので、
>grep '検索文字' ファイル名1.dat>>ファイル名_k.dat+CR
という行が書かれていることになります。
「ファイル名_k.dat\r」というファイル名です。

多分、見ることや消すこともできますよ。
ワイルドカード1文字分使って、
「ファイル名_k.dat?」と指定してやれば。
catで閲覧することも、rmで消すこともできるはずです。

でもその前にエディタの改行コードをUnix用に変更してくださいね。
まともなエディタなら変更できるはずです。

あと別の方法って、
grep '検索文字' file1 file2 file3... > report.txt
と、ファイルをたくさん書いておけばいいのでは?
質問の例だと、
grep '検索文字' ファイル名?.dat > report.txt
の1行で十分だと思いますよ。
    • good
    • 0
この回答へのお礼

的確なアドバイス、本当にありがとうございました。
まわりにUNIXをやっている人がいないので本当に困っていたんですよ。
すぐに実行したいと思います。

お礼日時:2001/01/24 11:17

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPython33\Scripts\easy_install-3.3.exe

Python 3系 64bit版 を Windows10 64bit版にインストールしました。
Scriptsフォルダに、3.3付きのexeと付いていないexeが存在しますが、
その違いは何ですか?
(ex.) pip.exe , pip3.3.exe

Aベストアンサー

> その違いは何ですか?

同じものです。
Linux系のOSにインストールした場合は、pipはpip3.3へのシンボリックリンクとなります。ファイル本体pip3.3で、pipはあくまでもリンクです。
(シンボリックリンクは、ショートカットアイコンの様なものとお考えください)

昔のWindowsでは、このリンク機能が無かったのでファイルそのものをコピーして対応していました。今もその名残りでpip3.3.exeをコピーしてpip.exeを作成しているのだと思います。

Qbatでファイル名を変更したい(元ファイル名の一部を削除したファイル名に)

batファイルを使ってファイル名を変更する方法を教えてください。
例えば、
変更元ファイル:tata1234.exe
変更先ファイル:tata.exe(元ファイル名の一部を削除した名前)

流れでは、あるファイルをbatにドラッグ&ドロップして
COPY %1 %TMP%\%~nx1
REN %TMP%\%~nx1 ???????
変更したファイルを元ファイルのあったフォルダに移動(orコピー)

別ファイルに出力したりしないと無理でしょうか?宜しくお願いいたします。

Aベストアンサー

元ファイル名の先頭4文字まで残して5文字目以降を消すということでいいでしょうか。

set NAME=%~n1
REN %TEMP%\~nx1 %NAME:~0,4%.%~x1

>変更したファイルを元ファイルのあったフォルダに移動(orコピー)
これはどういう意味?変更とは?

Qcat `find ./` > for_print.txt にファイル名を入れたい!

カレントディレクトリ以下のファイルを連結したいのですが、
cat `find ./` > for_print.txt
に「ファイル名」と、
あと、「区切り」がわかるように
********************************
を入れたいのですが、
どうしたら良いでしょうか?

Aベストアンサー

セパレータの形式にこだわらないのであれば、
more `find ./` > for_print.txt
とか、
tail +0 `find ./` > for_print.txt
とか。

Q秀丸エディタでgrepを行うと前に余計なファイル名と数字が付け加えられる

grepを行うと、文字の前にファイル名.txtと数字行(****)が付け加えられます

例えば、

aaa
bbb

をgrepで実行すると

.txt(2659):aaa
.txt(2660):bbb

のようにファイル名と数字行が入ってしまいます。

前につけないように、grepを実行するにはどうすればよいのでしょうか?

Aベストアンサー

ANo.1 です。

キーボードマクロ例を紹介します。
ちょっとスマートでない気もしますが...

filename1(1000): hogehoge999
filename2(555): humuhumu123

という具合のリストになっていると思います

まず、区切りになってる": "を検索対象に指定してください。
(1)例えば検索結果表示から ": "を選択して <Ctrl>+F するのが速いです.
  続けて、1回だけでも検索させてください。
  ボタン[下検索]を押せばいいです。
 最近のバージョンだと、": " の部分に色がつくと思います。
(2)カーソルを先頭に戻してください。
  <Ctrl>+<Home>
(3)キーボードマクロの記録をします。
 <Shift>+<f1>
 (秀丸の一番上のバー部分の表示が「記録中!」に変わります)
 <Shift>+<→> で1文字選択し
 <f3> で": "の直前まで連続して選択状態にして
 <Shift>+<→>を2回 で ": " まで含めて選択状態にして
 <Del>     で選択部分を削除して
 <↓>      で次行の先頭にカーソル移動して
 <Shift>+<f1>  で記録終了です。
(4)マクロ記録を実行します。
 <Shift>+<f2>  で実行します。
          1回押しで1回実行です、キーリピートが効くので
          押している間は連続して実行します。
          全行終わるまで押しつづけていればいいです。

余談ですが、マクロ記録の内容によっては、最終行まで終わっても
押しつづけていると期待しなかった削除をすることがあります、
ここで紹介したマクロは、とりあえず押し過ぎても大丈夫でした。

ANo.1 です。

キーボードマクロ例を紹介します。
ちょっとスマートでない気もしますが...

filename1(1000): hogehoge999
filename2(555): humuhumu123

という具合のリストになっていると思います

まず、区切りになってる": "を検索対象に指定してください。
(1)例えば検索結果表示から ": "を選択して <Ctrl>+F するのが速いです.
  続けて、1回だけでも検索させてください。
  ボタン[下検索]を押せばいいです。
 最近のバージョンだと、": " の部分に色がつくと思います。
(2)カーソル...続きを読む

QPython error C2061: 構文エラー : 識別子 'Py_uintptr_t'

WindowsXPでPython2.6のC Extensionを作ろうとコンパイルすると、
以下のエラーが出ました。
何が悪いのでしょうか?

samplemodule.c
c:\python26\include\pyport.h(89) : error C2061: 構文エラー : 識別子 'Py_uintptr_t'
c:\python26\include\pyport.h(89) : error C2059: 構文エラー : ';'
c:\python26\include\pyport.h(90) : error C2061: 構文エラー : 識別子 'Py_intptr_t'
c:\python26\include\pyport.h(90) : error C2059: 構文エラー : ';'

Aベストアンサー

そのsamplemodule.cはどうなってますか?

気になる点として
http://www.python.jp/doc/nightly/ext/simpleExample.html
> #include <Python.h>
> これで、Python API を取り込みます (必要なら、モジュールの用途に 関する説明や、著作権表示を追加します)。 Python は、システムによっては標準ヘッダの定義に影響するような プリプロセッサ定義を行っているので、 Python.h は いずれの標準ヘッダよりも前にインクルードせねばなりません。

というのがあります。
ただ、WindowsのVCでstdafx.hがからむと、ややこしかった覚えがあります。


人気Q&Aランキング

おすすめ情報