Я пытаюсь разобрать вывод следующей командыПопытка обработать выходной файл с помощью AWK
hdfs dfs -count
По большей части я могу получить то, что я хочу, однако, я имею вопрос с первой частью
1 23 1118275 /user/data/system/sys_1/...
1 23 1515762 /user/data/system/sys_2/...
1 23 1892459 /user/data/system/sys_3/...
Я использую AWK для обработки ... например, ...
awk ' BEGIN { FS="[/]"; OFS="," } { print $1,$2,$3,$(NF-1),$0 } '
... но я получаю первый блок, как необработанный, например, ...
1 23 1118275
1 23 1515762
1 23 1892459
Я попытался ...
{ FS="[ /]"; OFS="," }
но с пространством, но это дает мне выход commmas, он не видит/
Итак, резюме, я могу parse via /, но только в точку, он, кажется, игнорирует блок-пробелы.
Если есть путаница, я извиняюсь, это довольно сложно объяснить, что происходит. В принципе, $ 1 является блоком, и я не могу обработать его правильно. Я попытался разобрать его как часть FS = "/", но это не работает вообще.
substr ($ 1, x, y) тоже не работает должным образом, он рассматривает обработку блока как нечто, что нельзя разделить. Я делаю это сейчас ...
awk ' BEGIN { FS="[/]" } { print substr($1,37) } '
и я изолировать размер файла ...
1118275
1515762
1892459
1990075
882355
2125763
1841735
2260994
1082926
13649144
Но если я пытаюсь что-то вроде этого ...
awk ' BEGIN { FS="[/]" } { print substr($1,24,24) } '
Я получаю это ...
23 1118275
23 1515762
23 1892459
23 1990075
23 882355
23 2125763
23 1841735
Надеюсь, это немного яснее, но это m а не быть.
Что происходит с командой? Каковы ваши желаемые результаты? Это непонятно, и у меня нет окна Hadoop, чтобы запустить команду, чтобы увидеть, что она выплевывает. – JNevill
Я не уверен, что я понимаю ваш вопрос, но похоже, что вы хотите сделать дополнительную обработку содержимого первого поля для каждой записи. Вы думали о том, чтобы полностью исключить параметр OFS, а затем манипулировать содержимым $ 1 перед выполнением команды печати для каждой строки? – Leslie
команда будет похожа на hdfs dfs -count /user/data/system/*...it выплевывает каталог, разделы и размеры файлов, связанные с каждой записью ... счетчик похож на hdfs dfs -ls, кроме этого из перечисленных файлов я получаю резюме файлов в каталоге ... Я ищу, чтобы иметь выход из 1,23,1118275, т. е. разделенный запятой ... на данный момент все, что я получаю, составляет 1 23 1118275, что не разделены запятыми, даже если я пытался указать как FS = "/"... по крайней мере с FS ="/"Я получаю вывод, который является полупригодным ... когда я пытаюсь настроить FS на" "Я получаю пустой выход. – antimuon