Как установить elasticsearch на малиновый pi

Использование awk (gawk):

awk -F. '{printf "%s","similar part is "} {for(i=1;i<=NF;i++) {first[i-1]=$i} getline; for(i=1;i<=NF;i++) {second[i-1]=$i} for(i=0;i<length(first);i++) {if(first[i] == second[i]) {result=result first[i]"."}} printf "%s",substr($result,0,length(result)-1)"\n"}' <<< "$a"$'\n'"$b"

Или более читаемо:

awk -F. '{
    printf "%s","similar part is "
  }
  {
    for(i=1;i<=NF;i++) {
      first[i-1]=$i
    }

    getline;

    for(i=1;i<=NF;i++) {
      second[i-1]=$i
    }

    for(i=0;i<length(first);i++) {
      if(first[i] == second[i]) {
        result=result first[i]"."
      }
    }
    printf "%s",substr($result,0,length(result)-1)"\n"
}'

Пример

[ f3]

UPDATE В комментариях OP хочет совместить только до первого несоответствия:

awk -F. '{printf "%s","similar part is "} {for(i=1;i<=NF;i++) {first[i-1]=$i} getline; for(i=1;i<=NF;i++) {second[i-1]=$i} for(i=0;i<length(first);i++) {if(first[i] == second[i]) {result=result first[i]"."} else {i=length(first)}} printf "%s",substr($result,0,length(result)-1)"\n"}' <<< "$a"$'\n'"$b"

Пример [!d8 ]

$ a=".1.3.6.1.4.1.232.13600256.2"
$ b=".1.3.6.1.4.1.232.13600276.2"
$ awk -F. '{printf "%s","similar part is "} {for(i=1;i<=NF;i++) {first[i-1]=$i} getline; for(i=1;i<=NF;i++) {second[i-1]=$i} for(i=0;i<length(first);i++) {if(first[i] == second[i]) {result=result first[i]"."} else {i=length(first)}} printf "%s",substr($result,0,length(result)-1)"\n"}' <<< "$a"$'\n'"$b"
similar part is .1.3.6.1.4.1.232

Протестировано с помощью GNU Awk 4.1.1, API: 1.1 (GNU MPFR 3.1.2-p11, GNU MP 6.0.0)

0
задан 18 April 2018 в 09:05

0 ответов

Другие вопросы по тегам:

Похожие вопросы: