1

Есть ли способ сравнить (часть) пространства удержания с пространством шаблона для sed? например, у меня есть следующие строки

name1 id1 12-04-2016
name1 id2 12-03-2016
name2 id3 12-04-2016
name2 id4 12-03-2016

Моя конечная цель - удалить первую строку, где имя дублируется. Так что мой мыслительный процесс был

1) сравнить поле имени для хранения пробела.

2) Если это совпадает, удалите строку в шаблонном пространстве

3) Если это не так, скопируйте строку для хранения пробела.

Однако я не могу найти ничего, что детализирует, как сравнивать то, что находится в пространстве образца, с тем, что находится в пространстве удержания (только как копировать в и из). Это не возможно?

1 ответ1

1

Это возможно. Вы можете добавить содержимое пространства удержания в пространство шаблона и использовать обратную ссылку для проверки на равенство:

sed -n '{G;s/\([^ ]+\)\(.*\)\n\1//;tl;s/\n//p;:l;n}' names

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .