파일의 크기가 500MB입니다. ASCII 문자가 아닌 문자가 일부 있습니다. 나는 단지 유닉스 명령을 사용하여 그 문자들을 찾고 싶다. 각 줄마다 줄 번호와 위치를 얻는 것이 낫습니다.ASCII가 아닌 문자를 찾는 유닉스 명령어
감사합니다 :)
파일의 크기가 500MB입니다. ASCII 문자가 아닌 문자가 일부 있습니다. 나는 단지 유닉스 명령을 사용하여 그 문자들을 찾고 싶다. 각 줄마다 줄 번호와 위치를 얻는 것이 낫습니다.ASCII가 아닌 문자를 찾는 유닉스 명령어
감사합니다 :)
이 the other solution에 주어진 답을 사용하지만, grep
에 -n
를 추가합니다.
아시다시피, 이상합니다. 그것을 시도하고이 당신에게 줄 번호 및 문자를 모두 줄 것이다
#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를 코딩 빠르게 찾을 아스키 범위 밖의 모든 문자의 해당 행 내에서의 위치.
답변은 http://stackoverflow.com/questions/3001177/how-do-i-grep-for-non-ascii-characters-in-unix – vpit3833
@ vpit3833에서 찾을 수 있습니다. 익숙하지 않습니다. 유닉스 명령, 나는 그 링크가 아닌 아스키 문자의 라인 번호를 제공하지 않는 것 같아요. 잘못했다면 미안 해요. –