Если вы можете / хотите переключить оболочку, вы можете сделать это в zsh, установив псевдоним как
alias -g gr="| grep"
Если у вас установлен GNU awk
, вам не нужно использовать другой инструмент sort
для установки правильного порядка, но вы можете сделать это в самом awk
. Вы можете задать способ обхода массива, установив специальную переменную PROCINFO["sorted_in"]
. См. Использование предопределенных порядков сканирования массива с помощью gawk
Однако в вашем случае вы можете настроить сортировку по индексу в порядке возрастания
awk -vFS="|" -vOFS="|" '{
primaryKey=($1 FS $2)
}{
db[primaryKey]+=$3; next
} END {
PROCINFO["sorted_in"] = "@ind_str_asc"
for(key in db)
print key, db[key]
}' file