Я пытаюсь расшифровать следующий код:
awk '{print "aws s3 cp ###"$4" - | gunzip | awk -F $\"\\t\" '"'"'BEGIN {OFS = FS} {if ($287 == \"0\" && tolower($295)) print $11}'"'"' > "gensub(/.+\/(.+tsv\.gz)/,output_path"\\1.txt",$4)}'
Однако я не уверен в нескольких вещах:
1) Что делает "-". Я знаю "|" используется для трубопровода, но я действительно не уверен насчет «-», кроме как в контексте отрицания некоторой опции. Я попытался погуглить "ubuntu дефис / минус / тире", но ничего не вышло, связанное с этим
2) Я тоже не уверен насчет print "aws s3 cp ###"$4"
. Обычно он печатает строки, удовлетворяющие условиям if, но здесь он принимает командную строку aws, за которой следует $ 4, который, как я знаю, является индексом столбца
3) Кроме того, я знаю, что awk -F
, за которым следует знак, будет обозначать знак как разделитель, но здесь знака нет. Я не понимаю поведение по умолчанию в этом случае.