LINUX.ORG.RU
$ bash -c "python3 -c \"import difflib;print(difflib.get_close_matches('abd',('abcd','abcde','lolabzd','zabd')))\""
['zabd', 'abcd', 'abcde']
anonymous
()
Ответ на: комментарий от anonimous

я уже решил задачу.

for agrep_opt in 1 2 3 B;do
    for use_opt in "${use}" "^${use}" "${use}$" "^${use}$";do
         similar_use="$(agrep -${agrep_opt} "${use_opt}" 2>/dev/null <<< "${ALL_USE}")"
         [[ -n "${similar_use}" ]] && (( $(wc -l <<< "${similar_use}") '==' 1 )) && break
    done
    [[ -n "${similar_use}" ]] && (( $(wc -l <<< "${similar_use}") '==' 1 )) && break
    [[ -z "${similar_use}" ]] || (( $(wc -l <<< "${similar_use}") '>' 1 )) && similar_use=""
done

megabaks ★★★★
() автор топика
Последнее исправление: megabaks (всего исправлений: 2)

ну если python, то и zsh сойдёт:

zsh# for n in {0..4}; do print -n «$n:»; for i in abcd abcde lolabzd zabd; do [[ abd == (#a$n)$i ]] && print -n " $i"; done; print; done
0:
1: abcd zabd
2: abcd abcde zabd
3: abcd abcde zabd
4: abcd abcde lolabzd zabd
zsh# 

arto ★★
()
#!/usr/bin/php
<?php

echo levenshtein($argv[1], $argv[2]);

?>
#!/bin/bash

declare -a A

A[0]="abcd"
A[1]="abcde"
A[2]="lolabzd"
A[3]="zabd"

for (( J = 0; J < 4; J++ )); do
	for (( K = 0; K < 4; K++ )); do
		if [ $J == $K ]; then
			continue
		fi
		echo -ne "${A[J]}\t${A[$K]}\t"
		./lev.php ${A[J]} ${A[K]}
		echo
	done
done

abcd	abcde	1
abcd	lolabzd	4
abcd	zabd	2
abcde	abcd	1
abcde	lolabzd	5
abcde	zabd	3
lolabzd	abcd	4
lolabzd	abcde	5
lolabzd	zabd	4
zabd	abcd	2
zabd	abcde	3
zabd	lolabzd	4

emulek
()
Ответ на: комментарий от megabaks

я знал, что ты упорот, но не знал, что настолько...

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.