查找行shell脚本中的字符数

时间:2013-11-22 17:45:58

标签: bash count character

如何从具有其他子目录的目录中的文件中计算字符(a-z,0-9,A-Z)。我尝试过使用grep和wc,但它没有工作

2 个答案:

答案 0 :(得分:1)

使用此egrep:

egrep -ro '[a-zA-Z0-9]+' *|tr -d '\n'|wc -m

或者这个:

egrep -ro '[[:alnum:]]+' "$1" |tr -d '\n'|wc -m

答案 1 :(得分:0)

这是一个脚本,当你运行它时给定主文件夹的完整路径(包含包含文本文件的子目录的文件夹)作为第一个参数将打印出总计数---> >>

## $1 will be the total path

## This variable will be
## a list of all sub-directories
sub_dirs=`ls $1`

## Total holding count variable
count=0

## Looping over the
## each sub-directory
for i in $sub_dirs;
do
    ## Looping over
    ## each file
    for j in `ls $1/$i`;
    do
        ## Counting the characters
        total_characters=`wc -c "$1/$i/$j" | awk ' { print $1 } '`;

        ## Adding the result to the count
        count=`expr $count + $total_characters`;
    done
done

## Printing out the total count
echo $count

我希望这有帮助...因为我没有完全理解这个问题......

来自希腊的干杯保持UNIX!