uniq on win
(via http://d.hatena.ne.jp/ku__ra__ge/20080122/p7)
63.
Re:unixiのuniqコマンド
2004年01月13日(火) 14時27分
じゃく
こんにちは。>unixのuniqコマンドと同じように重複した列は除いたファイルを
>出力したいのですが、過去のログをみていたのですが、いまいち
>理解できませんでした。
>dosコマンドは初心者なので、イメージとしてはファイルを1行ずつ
>読み込んで、変数に代入し次の行が変数と違うなら出力する
>ということだと思うのですが、ご教授していただけませんか。OSを2000/XP系だとしてお話しします。
上で述べられていることをそのままコマンドプロンプトで
簡単に作成してみました。--------------------------------------uniq.bat echo off set prev= if not exist "%1" goto error for /f "tokens=* delims=" %%L in ( %1 ) do call :sub %%L goto exit :sub if not "%prev%"=="%*" set prev=%*&&echo %* goto :EOF :error echo. echo 表示したいファイル名を指定してください。 echo [例] uniq.bat file.txt echo. :exitfor文でファイルから1行を取り出し、call文でサブルーチンを
呼び出してそこで、以前と同一行かチェックしています。95/98系ですとこのような for 文の機能がありませんので、
http://www.fpcu.jp/dosvcmd/bbs/log/unixdoswindows/3-0062.html
別途 unix like tool などのフリーソフトを使うことになるでしょう。