С учетом того, что вы уже сделали, вы можете поместить этот вывод в переменную bash следующим образом:
pathlist="$(grep -H 'Special Fruit or Vegetable' @(Fruitables)/**/*.txt | cut -d: -f1)"
Затем пропустите этот файл через while read
l oop и используйте комбинация basename
и dirname
:
while read -r path; do
basename "$(dirname "$path")"
done <<< "pathlist"
Комбинация basename
+ dirname
работает следующим образом:
dirname foo/bar/baz # foo/bar/
basename foo/bar/ # bar
В зависимости от того, что вы пытаетесь сделать с этим выводом, может быть легче поместить это l oop в функцию.
Edit
Если подумать, кажется, вы действительно можете получить вывод на конце л oop. Так что последняя строка l oop может быть done <<< "pathlist" > out.txt