Сделать чередования sed regex следовать слева направо приоритет?

Простой способ
  1. установить git splits . Я создал его как расширение git, основанное на решении jkeating .
  2. Разделите каталоги на локальную ветвь #change into your repo's directory cd /path/to/repo #checkout the branch git checkout XYZ
    #split multiple directories into new branch XYZ git splits -b XYZ XY1 XY2
  3. Создайте пустой репо где-нибудь. Предположим, мы создали пустое репо под названием xyz на GitHub, у которого есть путь: git@github.com:simpliwp/xyz.git
  4. Нажмите на новое репо. #add a new remote origin for the empty repo so we can push to the empty repo on GitHub git remote add origin_xyz git@github.com:simpliwp/xyz.git #push the branch to the empty repo's master branch git push origin_xyz XYZ:master
  5. Клонирование вновь созданного удаленного репо в новый локальный каталог #change current directory out of the old repo cd /path/to/where/you/want/the/new/local/repo #clone the remote repo you just pushed to git clone git@github.com:simpliwp/xyz.git

1
задан Unihedron 30 March 2019 в 21:46
поделиться

2 ответа

Если я правильно понимаю ваш вопрос, то получается то, что вы хотите:

$ echo "AA" | xxd -b | sed -E 's/ 0|  .*//g'
00000000:100000110000010001010

Ключевое изменение здесь - это использование двух пробелов перед .*, так что это соответствует только той части, которую вы хочу удалить.

В качестве альтернативы, мы можем сначала удалить пустой ноль:

$ echo "AA" | xxd -b | sed -E 's/ 0//g; s/ .*//'
00000000:100000110000010001010
0
ответ дан John1024 30 March 2019 в 21:46
поделиться

Попробуйте следующее:

 s/ 0| [^0].*//g

Причиной наблюдаемого поведения является то, что POSIX управляет механизмами, чтобы они следовали самому длинному стандарту соответствия . Так что, пока вторая сторона чередования длиннее первой, даже если она вторая по порядку, она совпадает раньше.

0
ответ дан revo 30 March 2019 в 21:46
поделиться
Другие вопросы по тегам:

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