HP-UX на котором shell
test.txt:
Код: Выделить всё
aaa|4444
bbb|5555
cccc|6666
команда из (преведущих тем):
Код: Выделить всё
cat -n <(for (( i=1; i<=N; i++ )); do echo; done) test.txt | sed '1,'$N'd;s/^ *\([0-9]*\) */\1|/'
на что получаем
sh: Syntax error: `(' is not expected.
далее предополжим N=1455566 и файл переделываем командой:
Код: Выделить всё
cat -n test.txt |awk '{ sub($1, $1+'14345356'" "); print }'|sed 's/^ *\([0-9]*\)[[:space:]]*/\1|/'
получаем:
Код: Выделить всё
1|.43454e+07 sdfsdf|sdfdf|4
1|.43454e+07 sdfsf|asdfsdf|5
соотвестенно если выполнить:
Код: Выделить всё
awk '{ sub($1, $1+'14345356'" "); print }' test.txt
будет:
Код: Выделить всё
1.43454e+07 |sdfdf|4
1.43454e+07 |asdfsdf|5
это в + awk не любителям=)
но вот вопрос почему awk на UNIX такой ппц умный что решил сам мне число переделать оО!!??