2013-08-16 4 views
0

나는 JMeter를 통해 진행 과정을 추적하는 수단으로 파일 내에서 주어진 ID의 위치를 ​​찾기 위해 bash 스크립트에 의해 파싱되는 CSV 파일을 가지고있다. 그러나 나는 뭔가 재미가 문자 인코딩 또는 마지막에 일어난 생각우분투에서 grep 파일을 찾을 수 없습니다. 일치하는 행이 비어 있습니까?

egrep -n -C 2 '49156$' 

은 이전에 내가 문제없이 스크립트를 실행했습니다

나는에 문제가있어 특정 라인이 코드로 구성 줄 문자. 지금 내가이 줄을 실행할 때 나는 돌아 오지 않는다.

나는 여분의 문자를 확인하는 정규식 같은 '49156.$' 그때 나는 OSX와 우분투에서 다음을 얻을 변경하는 경우 :

OSX :

1307-node/49150 
1308-node/49153 
1309:node/49156 
1310-node/49159 
1311-node/49162 

우분투 :

1307-node/49150 
1308-node/49153 

1310-node/49159 
1311-node/49162 

우분투 서버에서 실행하려면 스크립트가 필요합니다. 내가 말했던 것처럼 스크립트가 이전 CSV와 잘 작동했기 때문에이 가장 최근의 CSV가 어떻게 변경되었는지 정말로 모르겠습니다. 내가 대신 엔드 라인 문자의 숫자 블록을 확인 생각

node/49153$ 
node/49156$ 
node/49159$ 
node/49162$ 
node/49165$ 

, 패턴 사용 : '49156[^0-9]' 그러나이 여전히 생산을 내가 VIM이 :set list을 사용하여 파일을 보면

나는 다음을 참조 같은 결과 :

1307-node/49150 
1308-node/49153 

1310-node/49159 
1311-node/49162 

위의 내용 이외에 나는 다음에 무엇을 테스트 할 지 잘 모릅니다. 조언 해 주셔서 감사합니다.

+0

분명히 windows 머신을 건드리지는 못했지만 이제는 언급했다. vim의 설명은 바닥에 "paths.csv"[dos] 56159L, 878008C'을 언급한다. 나는 그것을 시도 할 것이다, 고마워! – DanH

+0

@ruakh 그게 고마워. D. 답변을 게시하면 받아 들일 것입니다. – DanH

+0

이 파일은'-B -e 'SELECT ...''명령 행 구문을 사용하여 MySQL 단일 열 쿼리에 의해 생성되었습니다. 나는이 문제없이 다른 CSV를 생성하기 전에 그것을 실행했지만 명확하게 내 프로세스가 변경되었습니다. – DanH

답변

1

파일이 LF (줄 바꿈) 대신 줄 끝 부분에 CRLF (캐리지 리턴 + 줄 바꿈)를 사용하고있는 것처럼 들립니다. 예를 들어 파일이 Windows 컴퓨터에서 편집 된 경우 이런 일이 발생할 수 있습니다. 따라서 dos2unix을 실행하여 길잃은 캐리지 리턴을 제거하고 수정했는지 확인하십시오.

관련 문제