Один из способов сделать это — использовать голый репозиторий git в папке, которую вы не вызываете .git
, а, например, .git-dotfiles
,и используйте git --git-dir=~/.git-dotfiles --work-tree=~
при взаимодействии с точечными файлами, которые вы отслеживаете в своем домашнем каталоге. Чтобы сделать это проще, вы должны определить псевдоним для этого. Тогда использование может выглядеть, например, как :git-dotfiles add.zshrc
.
Поскольку git обычно (без флага --git-dir
)ищет только каталог .git
(или файл ), он не найдет ваш каталог .git-dotfiles
, если вы не укажете на него.
Рекомендуется установить для status.showUntrackedFiles
значение false в этом репозитории, иначе он будет отображать все файлы в вашем домашнем каталоге как неотслеживаемые файлы. С этой настройкой он даже не должен смотреть на неотслеживаемые файлы, что ускоряет работу.
Компания Atlassian опубликовала хорошую статью, объясняющую этот метод более подробно .
@Nikhil, в вашем первоначальном вопросе не было упоминания о форматировании XML, в нем было только необработанное содержимое. Поскольку вы знаете, что данные содержатся в XML, более надежным подходом будет следовать рекомендации одного из других ответов, который предлагает xmlstarlet или инструмент, специфичный для этой работы.
Если вы уверены , что формат не изменится, и хотите сделать это быстро и грязно, и вы уверены, что хотите использовать awk, сработает ли это для вас:
awk -F"." '{print $5}' | sort --unique
Вот ссылка на этот код и некоторые примеры данных из вашего вопроса :Попробуйте онлайн!
Предполагается, что формат файла соответствует вашему листингу...
cat sample.txt | awk -F".AP" '{print $2}' | awk -F. '{print $1}' | sort | uniq