2010-06-18 3 views
0

넘버 라인이 많이 있습니다. 번호 서식은 XXXXXXXXX-XXX.XXX입니다.번호 변경 형식

누구든지 나를 도울 수 나는 XX.XXX.XXX.X-XXX.XXX

XXXXXXXXX-XXX.XXX = 15 자리 난수로 수 XXXXXXXXX-XXX.XXX를 변경하려면? 미리 감사드립니다

답변

0

이 (나오지는 POSIX 정규식을 사용하기 때문에) 추한,하지만 작동합니다 :

sed 's/\([0-9]\{2\}\)\([0-9]\{3\}\)\([0-9]\{3\}\)\([0-9]\)\(-[0-9]\{3\}\.[0-9]\{3\}\)/\1.\2.\3.\4\5/g' 
2

일반 정규식 : (\d{2})(\d{3})(\d{3})(\d)-(\d{3}\.\d{3})을 검색하고 \1.\2.\3.\4-\5으로 바꾸십시오.

나는 잘 sed 몰라,하지만 나는 거기에 구문이 조금 다릅니다 생각합니다. 이 시도 :

sed 's/\([0-9]\{2\}\)\([0-9]\{3\}\)\([0-9]\{3\}\)\([0-9]\)-\([0-9]\{3\}\.[0-9]\{3\}\)/\1.\2.\3.\4-\5/') 
0

이 시도 :

이어서

echo "987654321" | sed 's/\([0-9][0-9]\)\([0-9][0-9][0-9]\)\([0-9][0-9][0-9]\)\([0-9]\)/\1.\2.\3.\4/' 

(이것은 98.765.432.1 출력), 파일로부터의 입력을 판독 :

sed 's/\([0-9][0-9]\)\([0-9][0-9][0-9]\)\([0-9][0-9][0-9]\)\([0-9]\)/\1.\2.\3.\4/' in.txt 

및 대한 새 파일에 쓰기 :

sed 's/\([0-9][0-9]\)\([0-9][0-9][0-9]\)\([0-9][0-9][0-9]\)\([0-9]\)/\1.\2.\3.\4/' in.txt > out.txt 

제 생각에 당신은 그것을 다듬을 수 있습니다. 그러나 그것은 일반적인 생각입니다.

+0

죄송합니다 아, 내가 잘못 읽어 보시기 바랍니다. 팀의 대답이 맞습니다. 너는 생각을 ... – laher