Являются ли параметры командной строки ruby ​​autoparse ('a') и print ('p') несовместимыми?

Когда используешь ruby лайк awk для анализа столбца из входного потока, разделенного пробелами:

aws s3 ls aws s3 ls s3://<my path>/ | ruby  -ane 'puts $F[2]'

Который правильно возвращает третье поле (aws file size) в каждой строке:

369982301
371599031
369002912

Это то, что желательно. Мне интересно, почему мы не можем объединить ape и опустить puts?

aws s3 ls aws s3 ls s3://<my path>/ | ruby  -ape '$F[2]'

Который вместо этого в основном ничего не делает - просто возвращает целые строки:

019-02-05 20:42:24  370485927 part-00314-01a30316-a576-4cd1-848b-12d5211ac8bc-c000.snappy.parquet
2019-02-05 20:42:24  370449245 part-00315-01a30316-a576-4cd1-848b-12d5211ac8bc-c000.snappy.parquet
2019-02-05 20:42:22  371043796 part-00316-01a30316-a576-4cd1-848b-12d5211ac8bc-c000.snappy.parquet
2019-02-05 20:42:25  369559577 part-00317-01a30316-a576-4cd1-848b-12d5211ac8bc-c000.snappy.parquet
2019-02-05 20:42:27  371956548 part-00318-01a30316-a576-4cd1-848b-12d5211ac8bc-c000.snappy.parquet

Являются -a а также -p либо несовместимы, либо, по крайней мере, имеют неочевидное взаимодействие?

0 ответов

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