объединить строку с помощью команды hdfs - PullRequest
0 голосов
/ 17 января 2019

Мне нужно скопировать много файлов из одного места в формате hdfs в другое. Я написал команду для определения «исходных» файлов:

hdfs dfs -ls /archive/reporting/some_dir | awk '{print $6,$7,$8}' | grep 2019-01-1 

Это дает мне список из 140+ файлов, которые я хочу скопировать. Вместо вставки вывода в текстовый редактор и предварительного ожидания каждой строки с помощью «hdfs dfs -cp» я хотел бы добавить к выводу моей команды «ls» команду copy. Итак, в одной строке я хочу получить вывод вроде:

hdfs dfs -cp /archive/reporting/some_dir/file1
hdfs dfs -cp /archive/reporting/some_dir/file1
...
...

Может кто-нибудь помочь мне с синтаксисом для этого?

1 Ответ

0 голосов
/ 17 января 2019

Вы можете просматривать результаты в одной строке и делать разные вещи. В вашем случае:

for i in `hdfs dfs -ls /archive/reporting/some_dir | awk '{print $6,$7,$8}' | grep 2019-01-1`; do
   echo "hdfs dfs -cp $i"
done
...