Инструменты Samba сообщают "Невозможно инициализировать контекст обмена сообщениями"

Использование:./processing.sh

Этот скрипт не изменяет исходный file_A, но создает new_file_A. Вы можете добавить к нему пару строк кода, чтобы удалить исходный file_Aи переименовать new_file_Aв file_A. Я могу добавить комментарии к коду, если получится, то, что вы хотите.

#!/bin/bash

file_a="file_A.txt"
file_b="file_B.txt"
file_c="file_C.txt"
file_d="file_D.txt"

print_to_files () {
    awk -v lines="$1" -v outfile1="$3" -v outfile2="$4" '
        BEGIN {
            cnt = 2;
            split(lines,lines_arr);
        }

        {
            if (NR == 1) {
                print $0 > outfile1;
                print $0 > outfile2;
            } else if (NR == lines_arr[cnt]) {
                print $0 >> outfile1;
                cnt++;
            } else {
                print $0 >> outfile2;   
            }
        }
    ' "$2"
}

lines_matching () {
    grep -n -f <(echo "$1") <(echo "$2") | cut -d ':' -f 1
}

file_a_cols=$(awk '{printf "%s %s %s %s\n", $2, $9, $3, $4; }' "$file_a")
file_b_cols=$(tr -s ' ' < "$file_b")

matched_lines_file_a=$(lines_matching "$file_b_cols" "$file_a_cols")
matched_lines_file_b=$(lines_matching "$file_a_cols" "$file_b_cols")

print_to_files "$matched_lines_file_a" "$file_a" "$file_c" "new_$file_a"

print_to_files "$matched_lines_file_b" "$file_b" "/dev/null" "$file_d"
1
21.09.2019, 23:04
2 ответа

Похоже, это ошибка текущего smbclient (4.10.10 )[1], исправление включено в следующий выпуск.

  1. https://bugzilla.samba.org/show_bug.cgi?id=13925
2
27.01.2020, 23:40

В моем случае это означало, что мне нужноsudo smbclient [...]

2
28.08.2020, 07:38

Теги

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