Это может быть, покончили gawk
: передайте свой список по каналу имен файлов через следующее (оставленный как exercise/I, протестированный с ls -1
, но не анализируйте ls
(TM)):
gawk -F. '1 {exts[$NF]++} END {for (ext in exts){printf "%s: %s files\n", ext, exts[ext]}}'
Это предполагает, что все, что сопровождается периодом, не является частью расширения, таким образом, имена файлов без количества периода как все-расширение. (Я думаю, что должно быть достаточно измениться 1 {
кому: (NF>1) {
только получить файлы с надлежащими расширениями.
Да к обоим вопросам. B передает данные к A, который ретранслирует его к C. Это означает, что существует вдвое больше действия по сети, поскольку прямая копия от B до C генерировала бы. Как значительный, который является, зависит от топологии Вашей сети и что другой трафик, там.
Стандартное обходное решение к SSH или в B или в C, и затем запустите, копия оттуда (использующий NFS монтируется или scp или rsync или безотносительно). Тем путем данные идут непосредственно от B до C и не должны проходить или быть дублированы A.