Используйте вывод Select в таблице со скриптом bash

Если у вашего find нет флага -empty (например, как у busbox или любого другого POSIX-совместимого find), вы должны сделать это таким образом (вдохновленные ответом @jordanm от answer), используя bash:

find . -type d -exec bash -c 'shopt -s nullglob; shopt -s dotglob; 
  a=("$1"/*); [[ ${a[@]} ]] || printf "%s\n" "$1"' sh {} \;
  • -type d найти только каталоги
  • -exec bash -c '. ...' sh {} \; вызов оболочки bash для каждого найденного каталога
    • shopt -s nullglob; shopt -s dotglob в этом примере bash, nullglob не позволяет bash возвращать шаблон, если он ничего не нашел. dotglob включает файлы и каталоги, начинающиеся с точки (. ).
    • a=("$1"/*) заполнить массив $a всеми элементами в каталоге обработки
    • [[ ${a[@]} ]] проверить, содержит ли $a элементы. Если нет...
    • printf "%s\n" "$1" печатает имя каталога

Если вы хотите обрабатывать этот список дальше, убедитесь, что элементы разделены нульбайтом:

find . -type d -exec bash -c 'shopt -s nullglob; shopt -s dotglob; 
      a=("$1"/*); [[ ${a[@]} ]] || printf "%s\0" "$1"' sh {} \; | xargs -0 ...

0
15.10.2018, 21:36
1 ответ

Вызовите mysql с помощью -N, чтобы отключить заголовки столбцов, т.е.mysql -N

0
28.01.2020, 04:12

Теги

Похожие вопросы