У меня нет Ма c, чтобы проверить это, но я думаю, что это два варианта.
Вариант 1. Используйте хвост, чтобы получить последнюю строку вывод из головы.
Если вы перебираете каждый файл, вы можете использовать tail -n 1
для обрезки вывода из head
, например:
for FILENAME in *; do head -n 1 $FILENAME | tail -n 1; done
Если вы не хотите вводить это Вы можете несколько раз определить функцию, например,
line1() { for FILENAME in "$@"; do head -n 1 $FILENAME | tail -n 1; done }
Затем вызвать функцию как line1 *
.
. Вы можете поместить ее в свой .bashr c, чтобы она оставалась доступной после открытия нового терминал.
Опция 2. Установка coreutils
Опция -q
не работает, поскольку некоторые операционные системы используют разные исполняемые файлы из утилит ядра gnu. У вас должна быть возможность установить gnu-coreutils с помощью:
brew install coreutils
Это даст вам доступ к ghead
реализации головы GNU, которая должна поддерживать опцию -q
.
Есть также варианты, чтобы coreutils переопределял системные утилиты по умолчанию, но так как у меня нет Ma c, я не могу подтвердить, как это сделать.
Вот ответ, который предлагает, как это сделать. it: https://apple.stackexchange.com/questions/69223/how-to-replace-mac-os-x-utilities-with-gnu-core-utilities#answer -69332
Предполагается, что вы заранее добавите в свой путь утилиты:
PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
Как и в приведенном выше функциональном решении, вам может понадобиться чтобы добавить это в .bashr c, чтобы сделать его постоянным во время сеансов терминала.