Как удалить NONREF из выходных данных моего CSV-файла, чтобы при запуске сценария строка не распечатывалась? - PullRequest
1 голос
/ 28 октября 2019

Я хочу удалить строку из вывода моего файла CSV, в результате вывода есть строка "NONREF". я не хочу, чтобы строка NONREF была включена в мои выходные данные.

Это мой текущий вывод файла CSV.

Account number (preferred / formatted),Customer reference,Posting date,Account currency,Transaction amount

750-85665-3 0000NONREF 09052019000000104519
750-85665-3 0000233416 0906201900000047765
750-85665-3 0000233425 09062019000000129305
750-85665-3 0000NONREF 0906201900000017707
750-85665-3 0000233421 09092019000000199722
750-85665-3 0000NONREF 09092019000000199722
750-85665-3 0000219838 0910201900000026502
750-85665-3 0000233415 0910201900000016914
750-85665-3 0000NONREF 09102019000000195642
750-85665-3 0000233419 0911201900000099291

Код, который я пробовал:

   awk '
   BEGIN{
    FS=","
    }
   FNR==1{
   print
   next
   }
   {
    $1=substr($1,1,3)"-"substr($1,4,5)"-"substr($1,length($1))
    $2="0000"$2
    split($3,array,"/")
     $3=sprintf("%02d%02d%s",array[2],array[1],array[3])
     gsub(/^-|\./,"",$NF)
     $3=$3"000000"$NF
    print $1,$2,$3
   }
    ' Input_file

я хочу, чтобы мой вывод без строк NREREF.

750-85665-3 0000233452 09162019000000323724
750-85665-3 0000233441 09162019000000190742
750-85665-3 0000233446 09162019000000230644
750-85665-3 0000233435 09162019000000173321
750-85665-3 0000233442 09162019000000219319
750-85665-3 0000233443 0916201900000097416

1 Ответ

1 голос
/ 28 октября 2019

Не могли бы вы попробовать один раз.

awk '
BEGIN{
  FS=","
 }
FNR==1{
  print
  next
}
$2!~/NONREF/{
  $1=substr($1,1,3)"-"substr($1,4,5)"-"substr($1,length($1))
  $2="0000"$2
  split($3,array,"/")
  $3=sprintf("%02d%02d%s",array[2],array[1],array[3])
  gsub(/^-|\./,"",$NF)
  $3=$3"000000"$NF
  print $1,$2,$3
}
'  Input_file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...