1 在shell中,许多命令可以输出行号,其中包括cat、grep、wc等,下面分别介绍如何使用这些命令
cat
cat命令提供了一个-n选项,可以在每一个文本行的前面添加一个行号。
grep
grep有一个-n的选项,该选项使grep命令在输出结果的时候会显示符合筛选条件的文本行的行号。为了能够输出所有文本行,可以使用空串作为grep命令的参数
grep -n "" 5.sh
shell还提供了一个nl命令,用来为文本添加行号:
nl [option]...[file]
-b:显示风格,a表示为所有行添加行号,t表示仅仅为非空行添加行号,n表示不添加行号。
-i:行号的增量,默认值为1
-v:行号的起始值默认为1
nl -b a 5.sh >7.txt
如果不使用-b a选项,则nl命令行只编号非空行
2 统计行数
grep提供了-c选项来统计符合筛选条件的文本行的行数
grep -c "$name" demo.txt
wc是shell中用来对文本进行各种统计的命令
wc [option]...[file]
-c:统计文本的字节数
-m:统计字符数
-l:统计行数
-L:统计最长行的长度
-w:统计单词数
cat 7.txt | wc -l
find /etc -name "*.conf" | wc -l // 统计/etc目录下面以.conf为扩展名的文件的数量
通过cat等命令、管道、以及wc等命令来获得文本行数是一个非常有用的技巧。
3 统计单词数和字符数
cat demo.txt | wc -w 统计单词数
cat demo.txt | wc -m 统计字符数