Как получить уникальное значение одного и того же значения в обоих столбцах в команде Unix - PullRequest
0 голосов
/ 07 сентября 2018

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

"Date", "User Information", "Source IP", "Destination IP", "HTTP Status Code", "HTTP Method", "URL", "Receive byte", "Send byte"
"[31/Jul/2018:21:11:55 +0900] ","ayw23","17.248.157.14","17.248.157.14","247","CONNECT","setup.iciwh.com:443","2938","600"

Так сравните использование awk?

cat file.csv| awk '$6 == $7' 

Мне нравится получать такой вывод

2018/7/31 21:11   17.248.157.14  setup.iciwh.com:443

1 Ответ

0 голосов
/ 07 сентября 2018

Для сравнения значения в вашем случае, вы должны использовать -F параметр awk, как в вашем случае, разделитель полей равен ,, а не space

awk -F, '{ if( $6 == $7) print "equal" }' test.csv

или

awk -F,  ' $6 == $7 { print "equal" }' test.csv

Кроме того, поскольку первая строка - заголовок, и вы не хотите, чтобы в этой строке было условие, вы можете включить условие NR >1

awk -F,  'NR >1 && $6 != $7 { print $6 $7 }' test.csv

Для преобразования даты, пожалуйста, посмотрите на ссылку ниже. Есть много предложений для достижения этого

awk команда для преобразования формата даты в файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...