如何计算目录文件中的选项卡?

时间:2013-03-20 11:28:36

标签: linux bash shell

我编写了一个代码来读取文本文件并打印文件中的总标签。但我想读取目录中的所有文件并计算每个文件中的选项卡,并将结果打印到单个输出文件。我可以这样做吗?

#!/bin/sh

FILE='unit-1-slide.txt'
TABCOUNT=$(tr -cd '\t' < $FILE  | wc -c)
echo $TABCOUNT "tabs in file" $FILE >> output.txt
echo "Done!"

1 个答案:

答案 0 :(得分:2)

你只需循环遍历所有文件,如:

#!/bin/bash    

for file in *; do
    if [ -f "$file" ]; then
        tabs=$(tr -cd '\t' < "$file"  | wc -c);
        echo "$tabs tabs in file $file" >> output
    fi
done

运行后文件输出如下所示:

8 tabs in file file1
4 tabs in file file2
0 tabs in file file3
3 tabs in file file4
...

注意:

您应该始终引用变量来处理带有特殊字符(如空格)的文件名,最好检查它是否是文件而不是目录。