Изменение значения во всем столбце файла CSV с помощью awk - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть CSV-файл, как пример ниже.Я хочу изменить значение почты в каждой строке для той же почты с awk.Я использовал

awk -F ";" '{$18=firstname.lastname@testdata.invali} {print}' example_source_20180619.csv > erm.csv

, но получил сообщение об ошибке недействительным

  PNR;GES-SL-SAP;VERT-KANAL-SL-SAP;DSTNR-SAP;BTRBL-FKT;SCHWPKT-TAETIG-SL;SCHWPKT-TAETIG-TXT;BTRBL-TITEL-TXT;ANREDE;NAME;VORNAME;STRASSE;PLZ;ORT;DIENST-TEL-NR;TELEFAX-NR;MOBIL-TEL-NR;E-MAIL-ADR;INTERNET-ADR;P34F-KZ;HD-ANL-BER-KZ;VERT-KANAL-SL;
0000000;0010;2100 ;00602;Referent                      ;99;Sonstige/kein Schw.           ;ohne Titel                    ;Sir           ;John                       ;Doe                     ;Paul-Keller-Str. 21           ;92318;Neumarkt i.d.OPf.       ;phone;0941/phone;;mail@mail.com;http://web.de ;NO;NO;

1 Ответ

0 голосов
/ 17 сентября 2018
awk -F ";" '{OFS=";"; $18="firstname.lastname@testdata.invali"; print;}'
  1. Поместите строки в ".
  2. Отдельные команды, используя ;.
  3. Установите разделитель вывода также на ;, чтобы вывод был похож наввод.
  4. Я полагаю, нет смысла подставлять адрес электронной почты в первой строке, поэтому я добавил маленькое, если ниже:

awk -F ";" '{ OFS=";"; if (NR != 1) { $18="firstname.lastname@testdata.invali"; } print; }'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...