Так, у меня есть репозиторий GitHub, на котором я хочу отобразить строки кода проекта. Так, я нашел инструмент названным loc
(строки кода) здесь. В инструменте это производит строки кода как так:
--------------------------------------------------------------------------------
Language Files Lines Blank Comment Code
--------------------------------------------------------------------------------
C++ 1 567 29 22 516
C/C++ Header 2 245 12 15 218
--------------------------------------------------------------------------------
Total 3 812 41 37 734
--------------------------------------------------------------------------------
Есть ли любой способ, которым я мог grep
только Строка итогов в столбце Code? Опции для loc
команда только состоит из этого:
USAGE:
loc [FLAGS] [OPTIONS] [target]...
FLAGS:
--files Show stats for individual files
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
--exclude <REGEX> Rust regex of files to exclude
--include <REGEX> Rust regex matching files to include. Anything not matched will be excluded
--sort <COLUMN> Column to sort by
ARGS:
<target>... File or directory to count
Можно сделать это легко с grep
, но Вам нужны два шага:
Фильтр строка, которая содержит Total
:
grep 'Total'
Дисплей только последнее число (последовательные цифры) от той строки:
grep -Po '\d+ -P
переключатели к PCRE regex режим, который необходим, чтобы он понял, что \d
означает "любую цифру (0-9)".
-o
говорит этому только отображать подобранную последовательность, не целую строку.
$
соответствия конец строки.
Вместе эти отрывки составляют команду ниже:
loc | grep 'Total' | grep -Po '\d+ <час> , Если мы принимаем, у Вас есть файл простого текста, содержащий строку как это:
Текущие строки кода в этом проекте: 123
можно отредактировать этот файл и заменить число в этой строке со значением, сохраненным в переменной Bash $linecount
использование эти sed
команда ниже. Конечно, необходимо сохранить общее количество строки в той переменной сначала, как это:
linecount=$(loc | grep 'Total' | grep -Po '\d+)
sed -i -E "s/(Current lines of code in this project: )[[:digit:]]+/\1$linecount/" README.MD
<час> , Если мы принимаем, у Вас есть файл простого текста, содержащий строку как это:
Текущие строки кода в этом проекте: 123
можно отредактировать этот файл и заменить число в этой строке со значением, сохраненным в переменной Bash $linecount
использование эти sed
команда ниже. Конечно, необходимо сохранить общее количество строки в той переменной сначала, как это:
linecount=$(loc | grep 'Total' | grep -Po '\d+)
sed -i -E "s/(Current lines of code in this project: )[[:digit:]]+/\1$linecount/" README.MD
-P
переключатели к PCRE regex режим, который необходим, чтобы он понял, что \d
означает "любую цифру (0-9)".
-o
говорит этому только отображать подобранную последовательность, не целую строку.
$
соответствия конец строки.
Вместе эти отрывки составляют команду ниже:
loc | grep 'Total' | grep -Po '\d+ <час> , Если мы принимаем, у Вас есть файл простого текста, содержащий строку как это:
Текущие строки кода в этом проекте: 123
можно отредактировать этот файл и заменить число в этой строке со значением, сохраненным в переменной Bash $linecount
использование эти sed
команда ниже. Конечно, необходимо сохранить общее количество строки в той переменной сначала, как это:
linecount=$(loc | grep 'Total' | grep -Po '\d+)
sed -i -E "s/(Current lines of code in this project: )[[:digit:]]+/\1$linecount/" README.MD
<час> , Если мы принимаем, у Вас есть файл простого текста, содержащий строку как это:
Текущие строки кода в этом проекте: 123
можно отредактировать этот файл и заменить число в этой строке со значением, сохраненным в переменной Bash $linecount
использование эти sed
команда ниже. Конечно, необходимо сохранить общее количество строки в той переменной сначала, как это:
linecount=$(loc | grep 'Total' | grep -Po '\d+)
sed -i -E "s/(Current lines of code in this project: )[[:digit:]]+/\1$linecount/" README.MD