Однострочник для подсчета строк, слов и символов в любом репозитории.

Добро пожаловать в выпуск №13 журнала One Minute Better D, где вы станете более успешным программным обеспечением. разработчику, читая короткие крупицы знаний по одной минуте за раз.

⏮️ 🔛 ⏭️

ПРОБЛЕМА

Наш технический менеджер спросил нас об общем количестве линий на нескольких хранилищах компании. Как мы можем узнать эту информацию?

РЕШЕНИЕ

Мы собираемся использовать команду git ls-files и направить ее вывод в wc с помощью xargs .

  1. В качестве примера репозитория мы создадим новый проект с помощью superplate.
npx superplate-cli my-app

2. После создания мы переходим в каталог репо.

cd my-app

3. Теперь мы можем запустить git ls-files, чтобы рекурсивно просмотреть все версии файлов в репозитории.

git ls-files
# .babelrc
# .eslintignore
# .eslintrc
# .gitattributes
# ...

4. Однако мы также хотим видеть количество строк в каждом файле. Мы собираемся направить вывод git ls-files в wc, используя xargs .

git ls-files | xargs wc
#       1       4      30 .babelrc
#       1       2      26 .eslintignore
#      25      37     600 .eslintrc
#       1       2      12 .gitattributes
# ...
#   25891   49458 1219057 total

Здесь мы видим:

  • 1-й столбец: количество строк в этом файле.
  • 2-й столбец: количество слов в этом файле.
  • 3-й столбец: количество символов в этом файле.

И в последней строке информация об общем количестве файлов.

Итак, в нашем репозитории 25891 строка.

Если вам понравилась эта история, вам также могут понравиться:





⏮️ 🔛 ⏭️