我需要计算当前文件夹中的所有.txt文件。 我试过ls | grep .txt,但如果我的文件夹内容是:a.txt btxt c.c,它将选择a.txt和btxt,我只想要以.txt结尾的文件。我尝试了各种regexp组合但没有结果。
答案 0 :(得分:3)
查找可能比这种情况更好,因为它是为处理文件名而设计的:
find . -maxdepth 0 -name '*.txt' | wc -l
如果您对可能奇怪的文件名非常谨慎,请使用Buf:
find . -maxdepth 0 -name '*.txt' -exec echo 1 \; | wc -l
答案 1 :(得分:1)
对于Grep,使用角色'。'意思是:"任何角色" ......所以你需要逃脱这个点:
ls | grep -e "\.txt"
编辑实际上甚至不需要-e选项。这样就可以了:
ls | grep "\.txt"
答案 2 :(得分:1)
使用字符串" .txt"来计算文件名。最后使用:
ls | grep -E "\.txt$" | wc -l
答案 3 :(得分:0)
如果您只需要当前目录中扩展名为“.txt”的文件数量,那么这也会有所帮助。
ls -l *.txt | wc -l