각 점으로 구분된 숫자로 숫자를 별도로 정렬합니다.

각 점으로 구분된 숫자로 숫자를 별도로 정렬합니다.

명령줄에 주어진 IP 주소를 숫자순으로 정렬하려고 합니다.

입력 및 출력의 예:

Input           - Output
192.168.111.123 - 129.168.111.123
192.312.583.321 - 129.123.358.123
987.654.321.970 - 789.456.123.079

답변1

로직코드만 넣어주세요

$ orig_IPADDR="192.168.111.123"
$sorted_IPADDR=$(echo $orig_IPADDR | awk -v RS="." -v ORS="." '{cmd="echo "$1"|grep -o .|sort -n| tr -d '\'' \n'\''" ; cmd|getline 출력; close(cmd) ;출력 인쇄}' | sed 's/.$//')
$echo$sorted_IPADDR
129.168.111.123

답변2

점으로 구분된 각 숫자로 숫자를 정렬합니다.

$ echo '324.98.120928' | perl -ne 'chomp;for $n (split /\./) { push @s,join("",sort(split //, $n))};print join(".",@s),"\n"'
234.89.012289

펄 스크립트:

chomp;
for $n ( split /\./ ) {
    push @s, join( "", sort( split //, $n ) );
}
print join( ".", @s ), "\n";

그러면 주어진 문자열이 개별 숫자( $n)로 분할된 다음 각 숫자가 개별 숫자( split //, $n)로 분할됩니다. 그런 다음 이 숫자는 정렬되어 숫자로 재조립되어 배열로 푸시됩니다 @s.

마지막으로 배열은 @s숫자 사이에 점을 인쇄합니다.

답변3

sort명령을 사용하지 않습니까? 모든 세부 사항을 확인하세요 man sort. 하지만 귀하의 문제는 매우 짧고 간단하며 간단한 해결책이 필요한 것 같습니다. 목록을 sort.

관련 정보