LINUX.ORG.RU

Замена цифр в столбце через awk

 , , ,


0

4

Есть таблица (файл text1):

#Наименование  Привезено  Продано 
Огрурцы        800        555     
Помидоры       200        105     
Задача: заменить в файле значение во второй строке второго столбца (800) на разность 800 и 555, а значение второй строки третьего столбца(555) обнулить (=0). И сделать так чтоб все вывелось в другой файл с уже новыми значениями. Пробовал cat text1 | awk '....' text1 > text2 Но не получается, подскажите пожалуйста как сделать, перелазил уже кучу форумов нигде не нашел правильного способа. Знаю что можно через sed, но это не универсальный способ. Заранее спасибо

$ cat > data.txt
Огрурцы        800        555     
Помидоры       200        105     

$ q 'select c1,c2-c3,0 from data.txt'
Огрурцы 245 0
Помидоры 95 0
anonymous ()
Ответ на: комментарий от settings3d
$ cd /tmp
$ echo "O 800 555" >> text1
$ echo "P 200 105" >> text1
$ cat text1
O 800 555
P 200 105
$ awk '{print $1 " " ($2-$3) " " 0}' text1 > text2
$ cat text2
O 245 0
P 95 0
ZERG ★★★★★ ()
Ответ на: комментарий от anonymous

А погуглить? :)

Так надо было же назвать query, тогда было бы проще гуглить. Ох уж эти любители соригинальничать

af5 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.