Использование этой строки, кажется, работает идеально:
awk '!($1 ~ /rs/ || /chr/) {$1="chr"$1}1'
-121--161003- С очень большими файлами часто лучше сортировать данные, чтобы остальное было проще и не нуждается ни в какой памяти. сортировка предназначена для обработки очень больших наборов данных.
Следующее удаляет нежелательные столбцы, сортирует данные, а затем просто пробуждает подавляет дублированные столбцы без необходимости запоминать более одну строку. Окончательная сортировка необязательна для упорядочения индексов.
cut -d, -f 3-8,11 |
sort |
awk -F, '
{ new = sprintf("%s,%s,%s,%s,%s,%s",$1,$2,$3,$4,$5,$6)
if(new==last)printf ",%s",$7
else{ printf "%s%s: %s",newline,new,$7
last = new
newline = "\n"
}
}
END{printf "\n"}
' |
sort -t: -k 2
-121--195456- Ваш список показывает + на файлах, где вы не запускали getfacl, поэтому трудно сказать, что ehat действительно произошло. Повторите операцию с одним файлом и состоянием списка/отчета до и после всех команд.
Если ваша проблема остается в файлах, у которых ранее не было ACL, в вашей реализации ACL есть ошибка, так как я не могу повторить проблему в эталонном Solaris, откуда пришел старый отозванный черновик ACL.