Чтобы удалить четвертый столбец,
$ cut -d, -f4 --complement example.csv > input.csv
Настройте параметр -f в соответствии с номером столбца.
Если файл CSV более сложен, вы можете использовать Perl и пакет Text :: CSV,
$ perl -MText::CSV -E '$csv = Text::CSV->new({binary=>1}); while ($row = $csv->getline(STDIN)) { print "$row->[0],$row->[1],$row->[2]\n" }' < example.csv > input.csv
Флаг - это тип опции, опция булева типа, по умолчанию всегда ложная (например, --verbose, --quiet, --all, --long и т.д.).
Опция указывает функции как действовать (например, -a, -l, --verbose, --output , -name , -c , etc), а аргументы указывают функции на что действовать (например, *
, file1, hostname, database).
Не существует согласованных определений терминов "опция", "аргумент" и "флаг", и нет центрального органа в мире разработки программного обеспечения, который мог бы обеспечить их использование. Это происходит со многими терминами: после 30 с лишним лет использования слова "каталог" мне теперь приходится иметь дело с людьми, использующими слово "папка", которые были сбиты с толку новой терминологией Microsoft.
В программировании консенсусные определения терминов могут возникать по-разному. В случае с "аргументом"/"опцией"/"флагом" канонические руководства и учебники по языкам программирования помогли обеспечить использование, как и термины, используемые в общих библиотеках.
Например, то, что вы вводите в командную строку после команды, часто называют "аргументами" команды, по аналогии с аргументами вызова функции, и это, вероятно, отчасти потому, что в руководстве по Си они называются "аргументами" (отсюда argc
и argv
). Библиотека Python argparse
также помогает применить термин "аргумент". Однако я также видел, что их называют "параметрами".
Термин "опция" происходит от "optional", что подразумевает, что их можно не указывать. Библиотека getopt
C является одним из вариантов использования этого термина. Но есть прецедент для "опций", которые на самом деле не являются необязательными: например, в руководстве argparse
говорится, что можно создать "обязательную опцию" (хотя там же говорится, что это "обычно считается плохой формой"). Перед опциями часто ставится одинарное (-
) или двойное (--
, long-option) тире, но есть известные команды, которые не требуют и не применяют тире для опций (например, tar
, ps
и dd
). Опция может сама принимать аргумент (например, -w80
и --color=always
) или иногда несколько аргументов.
"Флаги", по моему опыту, то же самое, что и опции, но обычно не принимают аргументов и по сути представляют собой булевы переключатели "вкл-выкл".
В более широком смысле, поскольку у каждого программиста есть возможность попытаться найти какой-то стандартный способ делать вещи и называть их, но он также может изобрести колесо без особых дополнительных затрат, именование никогда не будет последовательным. И как только вы задокументируете свой код, и станет ясно, какое новое значение вы придали этим словам, приведя примеры, эти названия и значения могут просто прилипнуть, если найдется достаточно людей, которые воспримут их из вашего кода.