Попробуйте это:dpkg --add-architecture i386 && apt-get update && apt-get install wine32
Использование awk с прогрессивной нарезкой вокруг запятой мы динамически воссоздаем поля.
awk -F: -v OFS=, '
{
f1=$1 FS; f2=$2 OFS
n=0; $0=""
while (p=index(f2, OFS)) {
$(++n) = 10 + substr(f2,1,p-1)
f2 = substr(f2, p+1)
}
$1=f1 $1
}1
' fileA.txt
Выход:
RS0255_RS0083:125,134,139,151,153,178,180,190
RS0343_RS0083:122,123,173,185,191
RS0343_RS0255:104,111,117,174,189,193
perl -pe '/:/g;
s/\G(\d+)(\D)/($1+10).$2/ge;
'fileA.txt
#alternatively
perl -ne '
print !$|-- ? $_ : s/\d+/$&+10/reg
for /(.*:)(.*)/s;
' fileA.txt
Использование Raku (, ранее известное как Perl _6)
raku -pe 's:g/ <[:,]> <(\d+)> /{$/.Num + 10}/;'
Ввод выборки:
RS0255_RS0083:115,124,129,141,143,168,170,180
RS0343_RS0083:112,113,163,175,181
RS0343_RS0255:94,101,107,164,179,183
Выход пример:
RS0255_RS0083:125,134,139,151,153,178,180,190
RS0343_RS0083:122,123,173,185,191
RS0343_RS0255:104,111,117,174,189,193
В этом случае я думаю, что я достигну от Раку (сестра детей Perl5 )по причинам, включая надежное обращение с численностью. Вкратце, глобальный s:global///
замена выполняется выше и автоматически с использованием флага командной строки -pe
. Regex ищет цифры, следующие либо в :
COLON, либо ,
запятой. Матч за пределами цифр выпадет за пределами маркеров <(...)>
. В замене добавляется переменная $/
до .Num
и 10 добавлена.
[Примечание :Вам придется сделать немного больше работы для обработки десятичных точек и / или номеров -, содержащих -запятых].
FYI, вы можете сделать действительно приятно (читаемые )вещей с Rationals
. Вот пример:
raku -pe 's:g/ <:Nd + [\c[FULL STOP]]>+ /{$/.Rat.numerator}\/{$/.Rat.denominator}/;'
ввод выборки:
3, 6, 9, 12, 15, 18, 21, 24
4, 8, 12, 16, 20
0.5, 1.0, 1.5, 2.0, 2.5, 3.0
0.25, 0.5, 0.75, 1.0, 1.25, 1.5
0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0
Выход пример:
3/1, 6/1, 9/1, 12/1, 15/1, 18/1, 21/1, 24/1
4/1, 8/1, 12/1, 16/1, 20/1
1/2, 1/1, 3/2, 2/1, 5/2, 3/1
1/4, 1/2, 3/4, 1/1, 5/4, 3/2
1/5, 2/5, 3/5, 4/5, 1/1, 6/5, 7/5, 8/5, 9/5, 2/1