使用sloccount和grep在=符号后获取SLOC

时间:2013-03-08 16:43:52

标签: bash grep

我正在尝试自动化获取目录中文件列表的sloccount并将它们放入文本文件的过程。我需要为多个目录执行此操作。 目的是'grep'在=符号

之后找到的sloc
Total Physical Source Lines of Code (SLOC)                = 6,392

到目前为止,我有:

 #!/bin/bash

for file in dir/*; do echo $file;
sloc=`sloccount $file | grep $file`;
echo $file $sloc >> 'activesloc.txt';
done;

或者从终端我得到输出,使用:

sloccount ponkout | grep "ponkout"

Creating filelist for ponkout
6392    ponkout      java=6392

1 个答案:

答案 0 :(得分:1)

您可以使用cut从该行获取6,392

$ TEXT="Total Physical Source Lines of Code (SLOC)                = 6,392"
$ echo $TEXT | cut -d= -f2
 6,392

-d=表示分隔符为=-f2表示您要打印第二条记录。

awk也是如此:

$ echo $TEXT | awk -F= '{print $2}'
 6,392