Я пытаюсь написать команду awk, и у меня возникли некоторые трудности. Моя задача - получить список файлов в каталоге hdfs, а затем скопировать каждый файл в целевой каталог. Пока у меня есть это:
hls $files_v | grep $rdir | awk '{print "hdfs dfs -cp "$NF}'
- hls - это просто псевдоним "hdfs dfs -ls"
- $ files_v - это мой каталог исходных текстов
- $ rdir - это секция хадупа по строке даты, в данном случае 2019-01-09
Мне нужно объединить то, что у меня есть, с моим Целевым каталогом, поэтому я получаю несколько строк с надписью "hdfs dfs cp / some / source / file /some/target/directory/path.
У меня есть еще одна переменная, $ tgt_dir ", которая содержит конкретный каталог, в который я хочу скопировать TO, и не понимаю, как включить это в мои команды awk.
Причина, по которой у меня так много переменных, заключается в том, что я буду использовать несколько значений для исходного каталога, даты раздела и целевого каталога. Я решил, что было проще переопределить каждую переменную и повторно использовать их в моем сценарии. Я определил каждый из них как параметры времени выполнения, такие как $ 1, $ 2 и т. Д., И могу обновлять переменную во время выполнения таким образом.
Спасибо!