@TheFatal

Как в bash разделить числа в первом столбце файла?

есть файл вида:

22 xxxxxxxxxxxxxxxx
2 yyyyyyyyyyyyyyyyyyyyyy
2 qqqqqqqqqqqqqqqqqq
6 xxxxxxxxxxxxxxxxxxxx
4 ffffffffffffffff
4 9718947ddddddddddddddddddd
4 2351273512735 0989089089
4 lllllllllllllllllllllllll

можно ли разделить на 2 все числа в первом столбце , оставив нетронутыми остальные столбцы и при этом сохранить структуру файла ?
  • Вопрос задан
  • 1045 просмотров
Пригласить эксперта
Ответы на вопрос 3
falsebyte
@falsebyte
Можно например так:

[~]# cat test.txt
22 xxxxxxxxxxxxxxxx
2 yyyyyyyyyyyyyyyyyyyyyy
2 qqqqqqqqqqqqqqqqqq
6 xxxxxxxxxxxxxxxxxxxx
4 ffffffffffffffff
4 9718947ddddddddddddddddddd
4 2351273512735 0989089089
4 lllllllllllllllllllllllll
[~]# cat test.txt | awk '{$1=$1/2; print}'
11 xxxxxxxxxxxxxxxx
1 yyyyyyyyyyyyyyyyyyyyyy
1 qqqqqqqqqqqqqqqqqq
3 xxxxxxxxxxxxxxxxxxxx
2 ffffffffffffffff
2 9718947ddddddddddddddddddd
2 2351273512735 0989089089
2 lllllllllllllllllllllllll
Ответ написан
nekipelov
@nekipelov
cat file | perl -ne '/^(\d+)/; $x = int($1)/2; s/^\d+/$x/; print'
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
cat ашду | perl -ne '/^(\d+)(.+)/; print "".($1/2)."$2\n"'


но с пустыми строками такое не дружит
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы