• 締切済み

findstrで改行文字の検索

sample.txtというファイルには通常のデータが入っており各行は改行されています。最後の行だけ改行ではなく[eof]が入っています。ファイルの中の改行されている行をすべて検索したいのですが MS-DOSのコマンドプロンプトで findstr /r \n sample.txt とやっても何も表示されません。\nを\r\nとしても同様です。 改行文字を検索するにはどうやるのでしょうか?

みんなの回答

  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.1

findstr /? で使い方が出ますが、\n などの記号は使えません。 行末は $ で表すので、findstr $ sample.txt で行けるようです。

satuki1969
質問者

お礼

そうですかできませんでしたか。 回答ありがとうございました。

関連するQ&A

  • コマンドプロンプトで

    コマンドプロンプトで、  findstr /n aaaa test1.txt > test2.txt とすると、検索した"aaaa"の行がtest2.txtに保存されますが、  findstr /n aaaa test1.txt > test1.txt とするとtest1.txtのデータがなくなります。 これは何故かということと、検索結果を検索したファイルに保存する方法を教えてください。 お願いします。

  • バッチファイルでFINDSTRを使って文字列検索をしたいが、ファイルが

    バッチファイルでFINDSTRを使って文字列検索をしたいが、ファイルが開けない (1)と(2)のバッチファイルを作りました。それぞれ単体で実行すると、エラーは出ません。 (1)と(2)を一緒にした(3)というバッチファイルで実行すると、FINDSTRのところで、 「ファイルを開くことができません」というエラーが出て、途中でとまってしまいます。 エラーを出さずに実行する方法は何かないでしょうか? (A.batは、CドライブにあるWord.exeを実行するだけのバッチファイルです。) どうぞよろしくお願いします。 【(3)の中身】 call A.bat >kekka.txt   ←この1行だけが(1)のバッチファイルの中身です GOTO kensaku GOTO :EOF ::文字列検索 :kensaku SET keyword=作成しました。   ←この行から下が(2)のバッチファイルの中身です FINDSTR %keyword% kensaku.txt > NUL GOTO kekka%ERRORLEVEL% GOTO :EOF :kekka0 REM 文字列あり ECHO %keyword%がありました PAUSE > nul GOTO :EOF :kekka1 REM 文字列なし ECHO %keyword%はありませんでした。 PAUSE > nul GOTO :EOF

  • findstrで複数ファイルを検索するとき

    findstr "aa bb" fileA.txt fileB.txt とすると、aa bbがそれぞれfileA.txt fileB.txtに適当に入ってるとき、結果は fileA.txt:aa fileB.txt:bb fileB.txt:bb fileA.txt:aa などと、検索結果の各行の初めにファイル名が出てきてしまいます。 このファイル名を出さないようにすることって出来ませんか。この場合、 aa bb bb aa とだけ出てきたらいいのですが。 /Mというオプションはファイル名だけを出すもので、この逆、ファイル名を消す、というのが欲しいのですが。 findstr以外のコマンドでもいいです。 ここで使っているのはwindows用のGNU utilities for Win32です。

  • findstrでヒットした1行前の文字を拾いたいです。

    findstrでヒットした1行前の文字を拾いたいです。 Windows文字検索コマンドのfindstrがあります。 > findstr "ヒットしたい文字" c:\hoge.txt で、hoge.txtの「ヒットしたい文字」を取り出せますが、 ヒットした1行前の文字を抜き出す方法はありますでしょうか? unixのgrepだと"-1"のオプションで1行前の文字摘出ができました。 findstrのオプションでは無さそうなので代替案がありましたら お願いします。

  • fwriteで改行出来ない

    $fno = fopen($newsFilePath."/test.txt", 'w'); fwrite($fno, 'test\r\n'); fwrite($fno, 'test\r\n'); fclose($fno); とすると、きちんとファイルは生成されるのですが、 中身が「test\r\ntest2\r\n」になってしまいます。 「\r\n」の位置で改行して2行で出力させるには、 どうすればいいでしょうか? 前はたしか\r\nでうまくいっていたんですが、、、 何がいけないんでしょう? どなたかお分かりの方教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 改行コードから改行コードまでをスプリットして配列に取り込む方法を教えて

    改行コードから改行コードまでをスプリットして配列に取り込む方法を教えてください。 ファイル「sample.txt」の中に 文字列A 文字列B 文字列C 文字列D 文字列E 文字列F 文字列G と書かれていたとします。このファイルを開き、配列@listに @list = 文字列A\r\n文字列B\r\n文字列C\r\n,文字列D\r\n文字列E\r\n,文字列F\r\n文字列G\r\n となるようなコードを教えてください。 要は二重改行コード\r\n\r\nをスプリッタとして複数の行を配列に取り込む方法です。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • テキストファイル内の指定文字が含まれる行以下を削除

    いつもお世話になります。 以下、バッチ(bat)で可能でしょうか? テキストファイル内(sample.txt)に指定文字(SA2:という文字)が必ず1行含まれていて 2行以上にはなりません。 SA2が含まれる行以下を削除し、sample1.txtという名前で保存したいです。 findstr SA2 でSA2が含まれる行を調べられるのいですが、その行を含む以下の行を 削除するというのが、どのように考えたらいいのかわかりません。 お力添え頂けますでしょうか? 宜しくお願い致します。

  • 改行コードについて

    改行コードがよく解らないので説明お願いします 様々なサイトの改行コードの説明で LinuxはLF MacはCR WindowsはCRLFと説明しています 私の認識では LF=\n CR=\r CRLF=\r\n だと思っていました ここで疑問なのですが 確かに私の利用した環境ではLinuxの改行コードは\n, Windwosの改行コードは\r\nでした ところがMacの標準のメモ帳(テキストエディット)で文字を入力しても改行コードは\nです 確認方法は od -cというコマンドとfileというコマンドです これはつまりCRではなくLFということですよね? では、なぜ多くのサイトではMacはCRと説明しているのでしょうか? そもそもCR=\rという認識が間違ってるのでしょうか? よろしくお願いします

  • DOSの文字抽出

    findstrで特定の行を抽出できました。 test.txtというファイルに入っています。 85文字のうちの43行目から8文字抽出したいのですが、どうすればいいでしょうか?

  • 列数が多いと結果が行単位に改行されて見にくい

    コマンドプロンプトで「SELECT * FROM testtable」などとやったときに、列数が多いと結果が行単位に改行されて見にくい。 改行させない方法ってありませんか? あるいはコマンドプロンプト自体の幅を広げる方法とかありませんか? この質問ここではマズかったかな?

    • ベストアンサー
    • MySQL

専門家に質問してみよう