Нет, /usr/bin/python никогда не должен указывать на python3. Похоже, что этот скрипт сломан, и сообщается об ошибке.
Используя cut:
cut -sd',' -f2 < result.txt
из man cut:
-d, --delimiter=DELIM
use DELIM instead of TAB for field delimiter
-s, --only-delimited
do not print lines not containing delimiters
-f, --fields=LIST
select only these fields; also print any line that contains
no delimiter character, unless the -s option is specified
Используя cut:
cut -sd',' -f2 < result.txt
из man cut:
-d, --delimiter=DELIM
use DELIM instead of TAB for field delimiter
-s, --only-delimited
do not print lines not containing delimiters
-f, --fields=LIST
select only these fields; also print any line that contains
no delimiter character, unless the -s option is specified
Используя cut:
cut -sd',' -f2 < result.txt
из man cut:
-d, --delimiter=DELIM
use DELIM instead of TAB for field delimiter
-s, --only-delimited
do not print lines not containing delimiters
-f, --fields=LIST
select only these fields; also print any line that contains
no delimiter character, unless the -s option is specified
Вы можете использовать awk
awk -F ',' '{print $2}' results.txt
Определить запятую как разделитель полей и распечатать второй столбец.
Пример с sed
$ sed -rn 's/[^,]+,([^,]+),.*/\1/p' results.txt
33
32
34
31
30
35
28
3160
7450
1600
Поскольку вы упоминаете Python:
with open('results.txt') as results:
ids = [int(line.split(',')[1]) for line in results if ',' in line]
print(ids)
Он создает список целых чисел как ids и отображает его:
[33, 32, 34, 31, 30, 35, 28, 3160, 7450, 1600]
Вы можете использовать Perl, который похож на размещенные awk и sed решения.
-a обеспечивает автоматическое разбиение на каждую строку.
-F используется для указания разделителя для разделения каждой строки. По умолчанию используется значение ''. Затем результат сохраняется в @F. Следовательно, $ F [1] дает нам второй столбец.
-l обеспечивает добавление новой строки в каждую строку.
-e используется для указания команды, которую нам нужно выполнить на каждой строке, которая печатается
$ perl -F, -ale 'print $F[1]' results.txt
33
32
34
31
30
35
28
3160
7450
1600
. Вышеприведенное расширение распространяется на следующую программу:
Поскольку вы упоминаете Python:
with open('results.txt') as results:
ids = [int(line.split(',')[1]) for line in results if ',' in line]
print(ids)
Он создает список целых чисел как ids и отображает его:
[33, 32, 34, 31, 30, 35, 28, 3160, 7450, 1600]
Вы можете использовать awk
awk -F ',' '{print $2}' results.txt
Определить запятую как разделитель полей и распечатать второй столбец.
Вы можете использовать Perl, который похож на размещенные awk и sed решения.
-a обеспечивает автоматическое разбиение на каждую строку.
-F используется для указания разделителя для разделения каждой строки. По умолчанию используется значение ''. Затем результат сохраняется в @F. Следовательно, $ F [1] дает нам второй столбец.
-l обеспечивает добавление новой строки в каждую строку.
-e используется для указания команды, которую нам нужно выполнить на каждой строке, которая печатается
$ perl -F, -ale 'print $F[1]' results.txt
33
32
34
31
30
35
28
3160
7450
1600
. Вышеприведенное расширение распространяется на следующую программу:
$ perl -MO=Deparse -F, -ale 'print $F[1]' results.txt
BEGIN { $/ = "\n"; $\ = "\n"; }
LINE: while (defined($_ = readline ARGV)) {
chomp $_;
our @F = split(/,/, $_, 0);
print $F[1];
}
-e syntax OK
Пример с sed
$ sed -rn 's/[^,]+,([^,]+),.*/\1/p' results.txt
33
32
34
31
30
35
28
3160
7450
1600
Поскольку вы упоминаете Python:
with open('results.txt') as results:
ids = [int(line.split(',')[1]) for line in results if ',' in line]
print(ids)
Он создает список целых чисел как ids и отображает его:
[33, 32, 34, 31, 30, 35, 28, 3160, 7450, 1600]
Вы можете использовать awk
awk -F ',' '{print $2}' results.txt
Определить запятую как разделитель полей и распечатать второй столбец.
Вы можете использовать Perl, который похож на размещенные awk и sed решения.
-a обеспечивает автоматическое разбиение на каждую строку.
-F используется для указания разделителя для разделения каждой строки. По умолчанию используется значение ''. Затем результат сохраняется в @F. Следовательно, $ F [1] дает нам второй столбец.
-l обеспечивает добавление новой строки в каждую строку.
-e используется для указания команды, которую нам нужно выполнить на каждой строке, которая печатается
$ perl -F, -ale 'print $F[1]' results.txt
33
32
34
31
30
35
28
3160
7450
1600
. Вышеприведенное расширение распространяется на следующую программу:
$ perl -MO=Deparse -F, -ale 'print $F[1]' results.txt
BEGIN { $/ = "\n"; $\ = "\n"; }
LINE: while (defined($_ = readline ARGV)) {
chomp $_;
our @F = split(/,/, $_, 0);
print $F[1];
}
-e syntax OK
Пример с sed
$ sed -rn 's/[^,]+,([^,]+),.*/\1/p' results.txt
33
32
34
31
30
35
28
3160
7450
1600