Вот таблица ...

Group   Name            Designation
2       (John)          Front End Developer
12      (Jim)           Back End Developer
8       (Jill)          Full Stack Developer
21      (Jack)          Front End Developer
2       (James)         Front End Developer
12      (Jane)          Full Stack Developer

Я хочу извлечь имена людей, принадлежащих к той же группе. Здесь Джон и Джеймс принадлежат к группе 2. Какую (комбинацию) команд или сценария bash следует использовать для отображения следующего вывода

John
James

Я использовал разные типы комбинаций grep. Но, похоже, не работает.

1 ответ1

0

Вы можете использовать sed следующим образом:

sed -n '/^2 /s/.*(\([^)]\+\)).*/\1/p' file.txt

Или awk как это:

awk -F "[()]" '/^2 / {print $2}' file.txt

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

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