2010-12-07 10 views
1

ファイルのサイズは500MBです。 ASCII文字以外の文字がいくつかあります。私は、Unixコマンドを使ってそれらの文字を探したいだけです。各行で行番号と位置を取得する方がよいでしょう。ASCII以外の文字を見つけるためのUnixコマンド

感謝:)

+0

回答はこちらhttp://stackoverflow.com/questions/3001177/how-do-i-grep-for-non-ascii-characters-in-unix – vpit3833

+0

@ vpit3833:あまりよく知らないunixのコマンドでは、私はリンクが非アスキー文字の行番号を提供していないと思う。間違っていたらごめんなさい... –

答えて

3

the other solutionで与えられた答えを使用しますが、grep-nを追加します。

2

あなたは知っている、それは変です。それは試してみて、これはあなたの行番号、および文字の両方を与える

#include <stdio.h> 

int main (void) { 
    size_t ln = 1; 
    size_t chpos = 0; 
    int chr; 
    while ((chr = fgetc (stdin)) != EOF) { 
     if (chr == '\n') { 
      ln++; 
      chpos = 0; 
      continue; 
     } 
     chpos++; 
     if (chr > 127) { 
      printf ("Non-ASCII %02x found at line %d, offset %d\n", 
       chr, ln, chpos); 
     } 
    } 
    return 0; 
} 

:-) UNIXユーティリティのコマンドラインオプションの荒野をナビゲートするよりも、時々私は、いくつかの迅速かつ汚いCをコーディングするより速くそれを見つけますその行の中のASCII範囲外の文字の位置。

関連する問題