2011-01-19 4 views
1

정리해야 할 수천 개의 큰 텍스트 파일이 있습니다. 쉼표로 끝나는 쉼표와 마침표 (.)로 끝나는 줄이 필요합니다.sed를 사용하여 마지막 줄을 포함하여 모든 ", n"을 , n "으로 교체해야합니다.

다음은 마지막 줄을 제외한 모든 줄에서 작동하는 다음과 같습니다. 그것은 내가 필요로하는 것에 가깝지 만 마지막 줄에서 어떻게 작동시키는지를 이해할 수는 없습니다. 내가 같이 할 필요

0,0,0,193,17,.,., 
0,0,0,174,19,.,., 
0,0,0,124,14,.,., 

:

find . -name "*.txt" -print | xargs sed -i ':a;N;$!ba;s/,\n/,\.\n/g' 

내 데이터는 다음과 같이 보입니다. ($ 라인의 끝을 의미)

0,0,0,193,17,.,.,. 
0,0,0,174,19,.,.,. 
0,0,0,124,14,.,.,. 
+0

분기와 함께 무엇입니까? –

+0

@larsmans : 백 슬래시와 'g'가 불필요한 것을 제외하고는 귀하의 대답이 정확합니다. –

+0

@Dennis : 삭제되지 않았습니다. 나는 라벨에 OP의 분기와 'N'명령으로 혼란 스러웠다. 내가 뭔가를 놓쳤다 고 생각했다. –

답변

3
sed 's/,$/,./' 

+0

고마워! 그 때문에 많은 시간을 절약 할 수있었습니다. – Paul

관련 문제