hdfs: разделение ls вывод

на hdfs, выводе ls команда похожа на это:

drwxrwxr-x  5 matteorr matteorr  4096 Jan 10 17:37 /data/Cluster
drwxr-xr-x  2 matteorr matteorr  4096 Jan 19 10:43 /data/Desktop
drwxrwxr-x  9 matteorr matteorr  4096 Jan 20 10:01 /data/Developer
drwxr-xr-x 11 matteorr matteorr  4096 Dec 20 13:55 /data/Documents
drwxr-xr-x  2 matteorr matteorr 12288 Jan 20 13:44 /data/Downloads
drwx------ 11 matteorr matteorr  4096 Jan 20 14:01 /data/Dropbox
drwxr-xr-x  2 matteorr matteorr  4096 Oct 18 18:43 /data/Music
drwxr-xr-x  2 matteorr matteorr  4096 Jan 19 22:12 /data/Pictures
drwxr-xr-x  2 matteorr matteorr  4096 Oct 18 18:43 /data/Public
drwxr-xr-x  2 matteorr matteorr  4096 Oct 18 18:43 /data/Templates
drwxr-xr-x  2 matteorr matteorr  4096 Oct 18 18:43 /data/Videos

Я получил бы все имя подкаталогов в /data оболочкой сценария,

Как я могу сделать это?

0
задан 6 April 2018 в 02:10

1 ответ

Принятие никакого другого поля в выводе включает a /, и никакой каталог или имя файла не содержат новую строку, Вы могли сделать:

hdfs dfs -ls | grep '^d' | cut -d/ -f3
  • grep команда выбирает строки, которые начинаются d, маркировка каталогов
  • cut рекомендуйте затем выбирает третье поле, разделенное / (первое, являющееся информацией до пути к файлу, второе имя каталога data)

Альтернатива Awk:

hdfs dfs -ls | awk -F/ '/^d/{print $3}'
1
ответ дан 30 October 2019 в 03:25

Другие вопросы по тегам:

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