У меня была такая же проблема. Действительно, я тоже заметил, что $ tree -I 'A/a.jpg'
не работает
Но где есть воля, там и способ:
$ tree
.
├── A
│ ├── a.jpg
│ └── b.jpg
└── a.jpg
$ tree --fromfile <<EOF
`tree -f -i -n -F --noreport | grep -v 'A/a.jpg' | grep -v -E '\.$' | sed "s/^\.//"`
EOF
.
├── A
│ └── b.jpg
└── a.jpg
Опция PS:--fromfile
доступна только для дерева 1.8 и выше
Вы можете указать xargs
добавить заголовок:
ag -g foo | xargs sh -c '
for file do
printf "====== %s =====\n" "$file"
cat -- "$file"
done' sh
Или вы можете использовать петлю:
ag -g foo |
while IFS= read -r file; do
printf '======== %s =======\n' "$file"
cat -- "$file"
done | less
(здесь предполагается, что ag
выводит одно имя файла в строке, в отличие от очень специфического формата, ожидаемогоxargs
).