Сравнение файлов каталога на основе имени файла

Вот мое решение. Это в Debian 8.

Установите Dropbox согласно стандартным инструкциям. Пока у меня подключен только один пользователь, я не знаю, будет ли это работать с несколькими пользователями, поскольку Dropbox, похоже, регистрирует машину, а не учетную запись пользователя linux. Если вы знаете, как заставить работать несколько учетных записей пользователей на одном сервере, дайте нам знать.

https://www.dropbox.com/en_GB/install?os=lnx

Затем установите скрипт управления python , инструкции , но поместите его в / usr / bin, а не в домашний каталог bin .

Создайте файл /lib/systemd/system/dropbox@.service:

[Unit]
Description=Dropbox as a system service user %i

[Service]
Type=forking
ExecStart=/usr/bin/dropbox start
ExecStop=/usr/bin/dropbox stop
User=%i
Group=%i
# 'LANG' might be unnecessary, since systemd already sets the
# locale for all services according to "/etc/locale.conf".
# Run `systemctl show-environment` to make sure.
Environment=LANG=en_US.utf-8

[Install]
WantedBy=multi-user.target

Включите службу для пользователя fred:

$ sudo systemctl enable dropbox@fred.service

Затем запустите службу:

$ sudo systemctl start dropbox@fred.service

0
09.10.2018, 18:22
2 ответа

В списке имен можно найти *_.txt. Из названия убираем _.txtи добавляем .txt. Сравните два файла.

for f1 in *_.txt; do
    f2="${f1%_.txt}.txt"
    compare "$f1" "$f2"
done
2
28.01.2020, 02:31

Если вы уже знаете, что для каждого файла file.txtесть файл file_.txt, я буду использовать _, чтобы различать их

Такой код должен работать:

files=(`ls | grep -v "_"`)
for f1 in ${files[@]}
do
     f2=`echo $f1 | sed -r 's/.txt/_.txt/g'`
     diff $f1 $f2
done
0
28.01.2020, 02:31

Теги

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