Попробуйте это,
rev file \
| sort -u \
| tr '.' ',' \
| awk '$0!~dom_regex{print;dom_regex="^"$0"[.]";};NR==1{dom_regex="^"$0"[.]";print};' \
| tr ',' '.' \
| rev
Выход:
4.3.2.1.domain.org
domain.com
anotherdomain.com
domain.net
Пояснение:
sort
перевернутый файл и удалить повторяющиеся строки. Этот шаг сгруппирует домены/поддомены «одного типа» вместе с самым коротким впереди. awk
будет выглядеть, если следующая часть того же типа (сохранена как регулярное выражение в переменнойdom_regex
). Если нет, он напечатает строку и установит новый dom_regex
. В противном случае строка пропускается. Системный атрибут относится к -Windows. Аналогов Linux нет.
В Samba есть способ сопоставления атрибутов Windows с разрешениями, существующими в Linux . Однако это может быть разрушительным, поскольку разрешения Linux имеют другое значение. Таким образом, системный и скрытый атрибуты по умолчанию не отображаются.
Чтобы сделать доступными системные и скрытые атрибуты, отредактируйте конфигурацию Samba(/etc/samba/smb.conf
или аналогичную, точный путь зависит от вашего дистрибутива ). Включите опции map system
и map hidden
в секции [data]
:
[data]
…
map system = yes
map hidden = yes
Затем системный атрибут сопоставляется с битом(g+x
)разрешения на выполнение группы -, а скрытый атрибут сопоставляется с другим битом -разрешения на выполнение(o+x
). Таким образом, эквивалентом attrib +s some.file
в Windows является
chmod g+x some.file
на сервере Linux.
Помните, что это означает, что если вы сделаете исполняемый файл в Linux (chmod a+x some.file
), это сделает его скрытым и системным в Windows. Поэтому убедитесь, что обычно вы не делаете файлы исполняемыми в Linux.