Я пытаюсь напечатать только размер и базовое имя - PullRequest
0 голосов
/ 18 июня 2019

Этот сценарий выводит размер базы данных в ГБ, а также путь к базе данных.$ 1/1024/1024/1024 показывает размер в ГБ, а $ 3 печатает путь.Я добавил необходимый вывод и то, что получаю в настоящее время.

hadoop fs -du -s /user/hive/warehouse/dbname.db|awk '{printf "%.3fGB \t %s\n", $1/1024/1024/1024, $3}'

Текущий вывод

0.003GB          /user/hive/warehouse/dbname.db

Требуется вывод

0.003GB          dbname.db

1 Ответ

0 голосов
/ 19 июня 2019

Попробуйте:

    awk '{sub(/.*\//, "", $NF); printf "%.3fGB \t %s\n", $1/1024/1024/1024, $NF}'

Удаляет часть до последнего символа / в последнем поле каждой строки.

I предположил , что в последнем поле строки указан путь к файлу. Пожалуйста, опубликуйте пример вывода вашей команды Hadoop, не передавая его в awk, если вы хотите, чтобы я был уверен в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...