Найти наиболее близкие файлы в двух каталогах

Вместо этого вы можете зарегистрировать соединение с помощью NetworkManager.

У меня другие настройки. Я на Ubuntu с модемом gsm .

Создать соединение

sudo nmcli c add con-name "mycon" type gsm ifname "*" apn "internet.t-d1.de"

Установить автоподключение

sudo nmcli c mod mycon connection.autoconnect yes

Имя пользователя и пароль

sudo nmcli c mod mycon gsm.username "t-mobile"
sudo nmcli c mod mycon gsm.password "tm"

В Ubuntu файл конфигурации NetworkManager находится в папке /etc/NetworkManager/system -Connections/.

sudo cat /etc/NetworkManager/system-connections/mycon

Запустить соединение

sudo nmcli c up mycon

Теперь соединение должно установиться автоматически.

3
08.10.2019, 17:24
1 ответ

Подойдет что-то вроде этого:

for fa in A/*; do

    highest_pm=0

    for fb in B/*; do

    num_identical_lines=$(diff --unchanged-group-format='%<' --old-group-format='' --new-group-format='' --changed-group-format='' "$fa" "$fb" | wc -l)
    num_lines_file_a=$(wc -l < "$fa")

    # save permille of matching lines
    pm=$((1000*num_identical_lines/num_lines_file_a))

    # compare with highest permille
    if [ $pm -gt $highest_pm ]; then
        highest_pm=$pm
        best_match="$fb"
    fi

    done

    # output
    [ $highest_pm -gt 0 ] \
    && printf "File %s best matches File %s with %d %% of identical lines.\n" "$fa" "$best_match" $((highest_pm/10)) \
    || printf "File %s has no match\n" "$fa"

done

Оценка num _идентичных _строк основана на этом ответе .
Остальное — просто цикл по файлам, некоторое сравнение и некоторый вывод;-)

Выход:

File A/file2 has no match
File A/filea best matches File B/fileb with 50 % of identical lines.
1
27.01.2020, 21:29

Теги

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