LINUX.ORG.RU

еще вопрос по awk)

 ,


0

2

есть файл со строками вида

smth1, string, smth2, smth3 smth1, string, smth2, smth3 smth1, string, smth2, smth3 smth1, string, smth2, smth3 smth1, string, smth2, smth3 smth1, string, smth2, smth3

string не уникальные - могут повторяться

необходимо получить файл вида

stringNN count

count - сколько раз в строке со stringNN было smth3==value

awk -F', ' '{if ($4==«value») {print $2}}' input_file.txt | sort | uniq -c

выводит

count stringNN

если count>0

а чтобы и c нулевыми count был вывод как сделать?

$ echo "
smth1
string
smth2
smth3
smth1
string
smth2
smth3
smth1
string
" | sort | uniq -c
      2 
      3 smth1
      2 smth2
      2 smth3
      3 string

Для разделителя - запятая и/или пробел:

$ echo "smth1, string, string, smth2, smth3 smth1, string, smth2, smth3 smth1, string, smth2, smth3 smth1, string, smth2, smth3 smth1, string, smth2, smth3" | sed 's/[, ]\{1,\}/\n/g' | sort | uniq -c
      5 smth1
      5 smth2
      5 smth3
      6 string

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