awk 'BEGIN{FS="\n";RS="\n\n"}{a[[110]]++}END{for (i in a)if (a[i]>1)print i;}'
действие правила BEGIN
выполняется перед чтением любого ввода. или вы можете указать их, используя параметры командной строки, такие как:
awk -F '\n' -v RS='\n\n' '{a[[111]]++}END{for (i in a)if (a[i]>1)print i;}'
, вы также должны знать, что multi-char RS
является функцией только gawk, и вы можете получить тот же результат, установив [114 ] в пустую строку (""
) с любым awk, как сказал @jas в своем комментарии.
Обновление: как упомянуто ниже toupeira, можно использовать --porcelain
опция состояния мерзавца (так как фиксируют 6f15787, сентябрь 2009, мерзавец 1.7.0).
Я упомянул в своем ответе, "Что термин фарфор означает в Мерзавце?" это:
Возможно, значение
--porcelain
вот, "производят вывод, подходящий для потребления сценариями фарфора"
Однако это не покажет вперед/позади информация: см., "Что добавить к “состоянию мерзавца - фарфор”, чтобы заставить его вести себя как “состояние мерзавца”?": для этого необходимо было бы все еще использовать другие команды: см., "Как знать, имеет ли репозиторий мерзавца изменения, которые не синхронизировались с сервером?"
Начальный март 2009 ответа
В команде фарфора, a:
$ git diff HEAD
дает Вам изменения начиная с последней фиксации (что Вы фиксировали бы при выполнении "фиксации мерзавца-a").
Возможный эквивалент в инфраструктуре команды был бы:
$ git ls-files -m
для списка всех измененных (рабочий каталог или индекс) файлы
При создании репозитория путем клонирования чужого репозитория удаленное "основное" ответвление копируется в локальное ответвление, названное "источником". Вы получаете свое собственное "основное" ответвление, которое не связывается с удаленным репозиторием.
Всегда существует текущая голова, известная как ГОЛОВА. (Это - на самом деле символьная ссылка, .git/HEAD, в файл как судьи/головы/ведущее устройство.)
выполненное "состояние мерзавца" и анализирует вывод:
# On branch master
# Your branch is ahead of 'origin/master' by 11 commits.
#
Больше деталей в ТАК вопрос, "Почему Мерзавец говорит мне “Ваше ответвление, перед 'источником/ведущим устройством' 11 фиксациями”. и как я заставляю это останавливаться?"
Возможный эквивалент в инфраструктуре команды:
* git-for-each-ref
для списка всех фиксаций, но требует анализа вывода также...
Снова, ls-файлы мерзавца могли привыкнуть к приведенному тот же результат, чем состояние мерзавца.
git ls-files --exclude-per-directory=.gitignore --exclude-from=.git/info/exclude \
--others \
--modified \
-t