У меня есть файл, который содержит шаблон в начале каждой новой строки:
. / Боб / некоторые / текст / путь / index.html
./bob/some/other/path/index.html
./bob/some/text/path/index1.html
./sue/some/text/path/index.html
./sue/some/text/path/index2.html
./sue/some/other/path/index.html
./john/some/text/path/index.html
./john/some/other/path/index.html
./john/some/more/text/index1.html
... и т. д.
Я придумал следующий код, соответствующий шаблону ./ enjname Event/, и хотел бы вывести 1 вхождение каждого имени, НО, он либо печатает каждую строку, соответствующую этому шаблону, либо просто 1 и останавливается при использовании флаг -m 1:
Я попробовал это как простую строку grep (ниже), а также поместил в цикл for
name=$(grep -iEoha -m 1 '\.\/([^/]*)\/' ./without_localnamespace.txt)
echo $name
Мои ожидаемые результаты:
. / Боб /
./sue/
./john/
Фактические результаты:
./bob/