Ваш вопрос очень похож на Печатать весь абзац в файле по шаблону, только в вашем случае это разделы текста, разделенные
, а вы хотите наоборот (т.е. удалить соответствующий раздел). Вы можете адаптировать любое из решений к вашим потребностям, например. с sed
:
sed '//!{H;$!d;};x;/\nuse_profile 0\nuse_group 0\n/d' infile
или, если вашему sed
не нравится этот синтаксис:
sed -e '//!{H;$!d' -e '}' -e 'x;/\nuse_profile 0\nuse_group 0\n/d' infile
Вы можете использовать set
и расширение параметра для каждого элемента массива, чтобы напечатать только имя каталога:
set -- */text.txt
{ printf ' %s' "${@%/*}" | cut -c2-; paste -- "$@"; }
# this blank ^ is a literal tab