-PR-
解決
済み

UNIXの<ファイル名>\rの意味

  • 困ってます
  • 質問No.31634
  • 閲覧数420
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 79% (107/134)

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

また、文字検索を行って一つのファイルにまとめる他の方法も、
教えてください。
お願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル8

ベストアンサー率 62% (25/40)

シェルスクリプト(あるいはバッチファイル?)を書いたエディタの
改行コードが合ってなかったのでしょう。

改行コードは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行で十分だと思いますよ。
お礼コメント
Nickee

お礼率 79% (107/134)

的確なアドバイス、本当にありがとうございました。
まわりにUNIXをやっている人がいないので本当に困っていたんですよ。
すぐに実行したいと思います。
投稿日時 - 2001-01-24 11:17:23
関連するQ&A
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ