Настольные конфигурационные файлы находятся где-нибудь в корневом каталоге. Это - вероятно, больше, чем просто они, что необходимо установить только для чтения - например, также .bashrc
. Так выясняют то, что те файлы и просто chown
их кому-то еще, базируйтесь или другой пользователь (необходимо будет, вероятно, использовать sudo). Удостоверьтесь, что у них есть полномочия 644 или 755 (они главным образом будут), и затем протестируйте его; все должно работать, не будучи должен записать, кроме тех случаев, когда Вы идете для конфигурирования, это перестанет работать. Как настольные дескрипторы, который является важным тестом.
в awk Вы могли сделать
awk -F "/" '
{ filenames[$NF]=$0 ; occurence[$NF]++ ; }
END { for (basename in filenames)
{ if (occurence[basename] == 1)
{ print filenames[basename]
}
}
} ' listA listB
Существует, конечно, более краткий способ сделать это, и я злоупотребляю "{...}", но я надеюсь, что это ясно:
мы сначала заполняем "имена файлов []" массив с помощью $NF имени индекса (= поле LAST в использовании строки "/" как разделитель, т.е. базовое имя).
И мы также считаем количество $NF, который мы видели благодаря происшествию [] массив (если больше чем "1", у нас только есть последний в именах файлов [$NF], и у нас есть происшествие [$NF]> 1)
Затем мы только печатаем тех, которые имеют происшествие == 1
Предположение, что у Вас есть свои списки в некоторых файлах path/to/list1.txt
и /path/to/list2.txt
можно использовать простую программу Python, чтобы добавить два списка в двух списках Python и затем установить объединение их следующим образом:
files1 = [line.strip() for line in open('/path/to/list1.txt')]
files2 = [line.strip() for line in open('/path/to/list2.txt')]
uniqueset = set(files1).union(set(files2))
uniqueset будет содержать уникальные файлы. Можете быть Вы, хотят исключить общие названия в целом из получающегося списка. В этом случае можно сделать следующее:
uniqueset = set(files1).symmetric_difference(set(files2))