Unix команда для файла ниже - PullRequest
0 голосов
/ 03 мая 2020

У меня есть CSV-файл, как показано ниже

05032020
Col1|col2|col3|col4|col5

 Infosys
 Tcs
 Wipro
 Accenture
 Deloitte

Я хочу количество записей по пропущенным столбцам даты и заголовка

O / p: количество записей 5 с включением номеров строк

cat FF_Json_to_CSV_MAY03.txt

05032020 requestId | accountBranch | accountNumber | GuaranteeGuarantor | accountPriority | accountRelationType | accountType | updatedDate | updatedBy

0000000001 | 560B | 5GW | 20200503 | BTCHLCE 0000000001 | 55F | 80992 | GG2 | 02 | 1999 | IRA | 20200503 | 0QLC 0000000001 | 55F | 24977 | CG | 01 | 3999 | CERTIFICAT | 20200503 | SRIKANTH 0000000002 | 5HJ | 03349 | PG | 01 | 777 | SAV | 20200503 | BTCHLCE 0000000002 | 5M8 | 999158 | GG3 | 01 | 900 | CORPORATE | 20200503 | BTCHLCE 0000000002 | 5LL | 49345 | PG | 01 | 999 | CORPORATE | 20200503 | BTCHLCE 0000000002 | 5HY | 15786 | PG | 01999 CORPORATE | 20200503 | BTCHLCE 0000000003 | 55F | 34956 | CG | 01 | 999 | CORPORATE | 20200503 | SRIKANTH 0000000003 | 5BY | 14399 | GG10 | 03 | 10 | ДЕНЬГИ | 20200503 | BTCHLCE 0000000003 | 5PE | 32100 | PG | 04 | 999 | СОВМЕСТНОЕ | 20200503 | BTCHLCE 0000000003 | 5LB | 07888 | GG25 | 02 | 999 | БРОКЕРСТВО | 20200503 | B TCHLCE 0000000004 | 55F | 36334 | CG | 02 | 999 | СОЕДИНЕНИЕ | 20200503 | BTCHLCE 0000000005 | 55F | 06739 | GG9 | 02 | 999 | Экономия | 20200503 | BTCHLCE 0000000005 | 5CP | 39676 | PG | 01 | 999 | SAVINGS | 202003 | BTCHLCE 0000000006 | 55V | 62452 | CG | 01 | 10 | CORPORATE | 20200503 | SRIKANTH 0000000007 | 55V | H9889 | CG | 01 | 999 | Экономия | 20200503 | BTCHLCE 0000000007 | 5L2 | 03595 | PG | 02 | 999 | CORPORATE | 20200503 | BTCHLCE 0000000007 | 55V | C1909 | GG8 | 01 | 10 | JOINT | 20200503 | BTCHLCE

Мне нужны номера строк от 00000000001

1 Ответ

0 голосов
/ 03 мая 2020

Существует два способа решения вашей проблемы:

  • Подсчитывать только те записи, которые вы хотите подсчитать
  • Подсчитывать все записи и удалять те, которые вы не хотите считать

Из вашего примера невозможно узнать, как это сделать, но позвольте мне дать вам несколько идей:

Представьте, что ваш файл начинается с 3 строк заголовка, затем вы можете сделать что-то вроде:

wc -l inputfile | awk '{print $1-3}'

Представьте, что все строки, которые вы хотите сосчитать, начинаются с цифры и точки, затем вы можете сделать что-то вроде:

grep "[0-9]*\." inputfile | wc -l
...