Это может быть так просто, как показано ниже:
{ read -r; while read -r line; do echo "$line"; done; } < abc.txt
Здесь {
означает группировать команду. Используя read -r
, мы пропустим первую строку!
Используйте команду
awk '{a[$1]++} END { for ( n in a ) { i++; print n "=" a[n]} print i }' file
.
#!/bin/bash
echo '1
2
1
4
5
4' | awk '{a[$1]++} END { for ( n in a ) { i++; print n "=" a[n]} print i }'
Вывод будет
1=2
2=1
4=2
5=1
4
В GNU awk
, length(my_arry)
будет отображать количество элементов, которые вы взяли my_arry
.
в других реализациях, которые не поддерживают длину массива, вы можете сделать:
awk '{ … } END{ for (elements in my_arry) count++; print count }'
Выполнено описанным ниже способом
команда:awk '{a[$1]++}END{for(x in a)print a[x]"="x}' filename
command: @praveen:~$ awk '{a[$1]++}END{for(x in a)print a[x]"="x}' p.txt
3=1
2=2
1=3
praveen@praveen:~$