ファイル末尾の空行を処理しないバグ

ファイルの最終行が空行である場合、その行は処理対象とならない。 ただし、これはファイル名指定のときと、入力リダイレクトの時だけで、 パイプからの入力の場合は正しく処理される。

echo ABC>X.txt
echo.>>X.txt
find /c /v "X" < X.txt       → 2行だが 1 と表示される
type X.txt | find /c /v "X"  → 2 と正しく表示される

ファイルの行数を求める

/v "" という指定で全ての行にマッチする。 これと、/c オプションを使ってファイルの行数を求めることが出来る。

find /c /v "" < filename

ただし、ファイル末の空行を処理しないというバグがあるので、ファイル末尾に 空行があるときは、1少ない数字となる。このバグを回避するにはパイプを使う。

type filename | find /c /v ""

行番号をつける

/v "" と /n を組み合わせる。

find /n /v "" filename

ファイル末尾の空行に関するバグを回避するにはパイプを使う。

type filename | find /n /v ""


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-05-17 (火) 23:30:52 (4478d)