uniq -c Эквивалент для групп строк произвольного счета

В одну сторону:

for d in /*/files/a/
do
  mv "$d" "${d%a/}b"
done

... который использует *для сопоставления всех исходных каталогов верхнего -уровня «клиент», за которыми следует требуемая структура подкаталогов /files/a/. Затем он использует расширение параметра, чтобы удалить конечный a/каждого из них, а затем «заменить» его на bдля переименования.

2
29.03.2019, 00:54
1 ответ

У меня нет такого огромного набора данных для сравнительного анализа. Попробуйте это:

$ perl -E 'say for (("foo") x 4, ("bar") x 4, "baz", ("foo", "bar", "baz") x 4)' | awk 'NR == 1 {word=$0; count=1; next} $0 != word {print count,word; word=$0; count=1; next} { count++ } END { print count,word }'
4 foo
4 bar
1 baz
1 foo
1 bar
1 baz
1 foo
1 bar
1 baz
1 foo
1 bar
1 baz
1 foo
1 bar
1 baz

Использование mawkвместо awkможет повысить производительность.

0
27.01.2020, 22:27

Теги

Похожие вопросы