Сравните два файла с разделителями с первым столбцом

Основная причина, по которой рекомендуется запускать Transmission в качестве отдельного системного пользователя, а не вашего пользователя, заключается в том, что если в программном обеспечении есть уязвимость, позволяющая использовать эксплойты, открывающие доступ к файлам за пределами настроенного каталога, то оно не завершится. раскрывая потенциально конфиденциальные файлы из вашего домашнего каталога, поскольку сама Linux предотвратит такой доступ с помощью основных разрешений.

Чтобы упростить управление файлами в каталоге Transmission для вашего обычного пользователя, вам следует подумать о добавлении вашего пользователя в группу debian-transmission, которая является группой, которая владеет файлами в каталоге Transmission и имеет (или, по крайней мере, должен иметь )доступ для чтения/записи к этому каталогу и файлам в нем.

Ubuntu Howto предлагает эту команду (, слегка адаптированную для получения пользователя из переменной среды):

sudo usermod -a -G debian-transmission "$USER"

(Не забудьте выйти и снова войти после запуска usermod, так как это не повлияет на группы любого существующего процесса.)

Надеемся, что это облегчит вам управление файлами, загруженными с помощью Transmission, и в то же время сохранит его работу под собственным выделенным системным пользователем для большей безопасности.

0
20.05.2021, 22:22
2 ответа

Файлы не сортируются по первому столбцу ни в одной локали, которую я могу себе представить, но если вы их отсортируете, вы можете тривиально использовать joinс опцией -v, например.

$ join -t ':' -v 1 <(sort -t ':' file1) <(sort -t ':' file2)
jam3es:hello
richard:hello2

Если вам действительно нужен вывод в указанном порядке, вы можете передать результаты другой команде sort.

2
28.07.2021, 11:30

awk дает хорошее краткое решение

awk -F: '
    NR == FNR {name[$1]; next}
    !($1 in name)
' file2 file1

выходы

richard:hello2
jam3es:hello

Примеры входных файлов показывают, что все строки дублируются. Если это действительно так, утилита commудобна:

comm -23 <(sort file1) <(sort file2)

выводит строки, которые появляются только в файле 1 (опция -2подавляет строки, которые появляются только в файле 2, а -3подавляет общие строки)

jam3es:hello
richard:hello2
1
28.07.2021, 11:30

Теги

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