我有这样的线,我想知道我有多少行。

09:16:39 AM  all    2.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   94.00
09:16:40 AM  all    5.00    0.00    0.00    4.00    0.00    0.00    0.00    0.00   91.00
09:16:41 AM  all    0.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   96.00
09:16:42 AM  all    3.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   96.00
09:16:43 AM  all    0.00    0.00    1.00    0.00    1.00    0.00    0.00    0.00   98.00
09:16:44 AM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
09:16:45 AM  all    2.00    0.00    6.00    0.00    0.00    0.00    0.00    0.00   92.00

是否有一种方法可以使用linux命令来计算它们?


当前回答

这个drop-in便携式shell函数[ℹ]工作起来很有魅力。只需将以下代码片段添加到.bashrc文件(或shell环境的等效文件)。

# ---------------------------------------------
#  Count lines in a file
#
#  @1 = path to file
#
#  EXAMPLE USAGE: `count_file_lines $HISTFILE`
# ---------------------------------------------
count_file_lines() {
    local subj=$(wc -l $1)
    subj="${subj//$1/}"
    echo ${subj//[[:space:]]}
}

除了bash和zsh之外,它应该完全兼容所有posix兼容的shell。

其他回答

以上是首选的方法,但“cat”命令也可以帮助:

cat -n <filename>

将显示文件的全部内容与行号。

这个drop-in便携式shell函数[ℹ]工作起来很有魅力。只需将以下代码片段添加到.bashrc文件(或shell环境的等效文件)。

# ---------------------------------------------
#  Count lines in a file
#
#  @1 = path to file
#
#  EXAMPLE USAGE: `count_file_lines $HISTFILE`
# ---------------------------------------------
count_file_lines() {
    local subj=$(wc -l $1)
    subj="${subj//$1/}"
    echo ${subj//[[:space:]]}
}

除了bash和zsh之外,它应该完全兼容所有posix兼容的shell。

只是以防万一。在使用find命令的情况下,可以对许多文件进行此操作。

find . -name '*.java' | xargs wc -l 

我只是做了一个程序来做这个(与节点)

npm install gimme-lines
gimme-lines verbose --exclude=node_modules,public,vendor --exclude_extensions=html

https://github.com/danschumann/gimme-lines/tree/master

如果你想检查一个目录中所有文件的行数,你可以使用find和wc:

find . -type f -exec wc -l {} +