Командная строка ниже работает для меня
perl -F'\t' -lane'print join ",", @F[1,2]' inputfile
НО я хочу передать список переменных столбцов, не обязательно столбцов 1 и 2, как указано в @F[1,2]
.
ДляНапример, основываясь на общем количестве столбцов входного файла, я хотел бы выбрать случайное подмножество "$random-columns"
и передать его @F[$random-columns]
.
Как мне это сделать?
Я попытался сначала сгенерировать columnList из 5 случайных номеров столбцов от 1 до 50:
columnList=()
for (( i = 0; i <= 5-1; ++i ))
do
(( randCol = ($RANDOM % 50) + 1 ))
columnList[i]=$randCol
done
Затем я сделал следующее, чтобы вставить запятую:
cols_new=$(IFS=,; echo "${columnList[*]}")
и попытался пропустить еев командной строке Perl, как показано ниже (не работает):
perl -F'\t' -lane'print join ",", @F[$cols_new]' inputfile