KSH를 사용하여 "12345"를 "1.2.3.4.5"로 변환하는 방법은 무엇입니까?

KSH를 사용하여 "12345"를 "1.2.3.4.5"로 변환하는 방법은 무엇입니까?

KSH를 사용하면 문자열이 있고 12345이를 로 변환하고 싶은 경우 1.2.3.4.5어떻게 해야 합니까?

사용해 보았지만 cut간단하지 않습니다.

echo "12345" | cut -c1

답변1

필수 awk답변:

echo "12345" | awk '$1=$1' FS= OFS="."

출력은 다음과 같습니다

1.2.3.4.5

답변은 다음 솔루션 중 하나에서 수정되었습니다.이 스택 오버플로우편.

답변2

Perl 정규 표현식(조회 및 ​​역참조 포함)은 마지막 항목을 제외하고 모든 항목에 점을 더한 항목으로 대체하도록 응답합니다(질문이 그랬다고 가정).

$ echo "12345" | perl -wlpe 's/(.(?=.))/$1\./g'
1.2.3.4.5

답변3

OpenSolaris에서 ksh 및 /usr/bin/sed로 테스트된 sed 솔루션

echo "12345" | /usr/bin/sed -e 's/./&\./g' -e 's/\.$//'

관련 정보