У меня есть переменная ($ var), которая содержит ряд чисел, упорядоченных и разделенных запятыми. Например: 3,31,35,57,85,108,120,130,193,234,266,354,369,406,430,438,472,490,503,553,579,591,629,670,715,742,768,792,813
Мой первоначальный план состоял в том, чтобы использовать их для извлечения серии столбцов в файле1 с помощью следующего кода: cat file1 | cut -f "$var"
Терминал предупреждает меня о проблеме: слишком длинный список аргументов. Моя цель остается прежней - какой стратегии / альтернативы я могу следовать? Мне нужно что-то, что позволяет мне получить все столбцы (сохраняя их или нет в файле). Использование цикла или чего-то еще может помешать мне сделать это вручную / индивидуально.
Пример желаемого результата (меньшего размера):
123 299 429
12 0 2
0 0 2
4 15 20
4 22 27
3 2 7
0 0 0
61 155 77
8327 5961 10023
5 11 17
5777 8840 5669
10 3 1
53 365 199
1 0 3
26 31 15
1 0 0
cut
выдает ошибку? Если это оболочка, то у вас, вероятно, более 128 КиБ аргумента в строке (для macOS потребуется более 256 КиБ). Это означает, что в файле также есть очень длинные строки. Если вместо этого онcut
жалуется, то вам нужно перестроить его с любым пределом, из-за которого он генерирует сообщение, поднятое достаточно большого размера. - person Jonathan Leffler   schedule 10.02.2021exec
, код, который проверяет размер командной строки, которую вы можете использовать. Ошибка «слишком длинный список аргументов» соответствуетE2BIG
в<errno.h>
(в коде C). - person Jonathan Leffler   schedule 12.02.2021