博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
count lines in a file - wc & nl
阅读量:4029 次
发布时间:2019-05-24

本文共 5576 字,大约阅读时间需要 18 分钟。

How to Count Number of Lines in a File in Linux (wc and nl Command Examples)

Linux commands wc and nl will help you to identify the number of words, lines, bytes, etc, in a file. This tutorial explains how to use these two very useful command with various examples. 

The basic text file that will be used in examples throughout this article is shown below :

$ cat sort.txtUKAustraliaNewzealandBrazilAmerica

Linux nl Command Examples

The nl utility in Linux is used to number lines of a file.

Here is the syntax and description from man page :

SYNOPSIS 

nl [OPTION]… [FILE]…

DESCRIPTION 

Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is -, read standard input.

1. A basic example

Here is a basic example that explains how nl command can be used to number lines of a file.

$ cat sort.txtUKAustraliaNewzealandBrazilAmerica$ nl sort.txt     1	UK     2	Australia     3	Newzealand     4	Brazil     5	America

So we see that using nl command, all the lines of file sort.txt got numbered.

2. Increment line numbers with any value using -i option

The option -i can be used to override the default increment of 1 in line numbers.

Here is an example where we have used -i to increase the line number increment to 5 :

$ nl -i5 sort.txt     1	UK     6	Australia    11	Newzealand    16	Brazil    21	America

Instead of the default 1,2,3… the line numbers are now displayed in increments of 5 (i.e 1,6,11…)

3. Add string after line numbers using -s option

By default, the nl command adds only line numbers. But, through -s option, any string can be added that can act as a separator between line numbers and the line text.

Here is an example:

$ nl -s. sort.txt     1.UK     2.Australia     3.Newzealand     4.Brazil     5.America

So we see that the character ‘.’ was added after line numbers.

4. Use a different column for line numbers using -w option

Columns for line number display can be changed using -w option.

Here is an example :

$ nl -w1 sort.txt1	UK2	Australia3	Newzealand4	Brazil5	America$ nl -w2 sort.txt 1	UK 2	Australia 3	Newzealand 4	Brazil 5	America$ nl -w3 sort.txt  1	UK  2	Australia  3	Newzealand  4	Brazil  5	America$ nl -w4 sort.txt   1	UK   2	Australia   3	Newzealand   4	Brazil   5	America$ nl -w5 sort.txt    1	UK    2	Australia    3	Newzealand    4	Brazil    5	America$ nl -w6 sort.txt     1	UK     2	Australia     3	Newzealand     4	Brazil     5	America

The exhaustive output above gives a good idea as to how the display column for line numbers can be changed.

5. Use STYLE for numbering lines using -b option

Various STYLEs are available for line numbering. From the man page :

STYLE is one of:

  • a – number all lines
  • t – number only nonempty lines
  • n – number no lines
  • pBRE – number only lines that contain a match for the basic regular expression, BRE

In the example below, I have used a regular expression ‘pA’ as a STYLE with option -b. This regular expression matches the lines beginning with ‘A’ and so nl command numbers only those lines.

$ nl -bpA sort.txt       UK     1	Australia       Newzealand       Brazil     2	America

So we see that only the lines beginning with ‘A’ were numbered.

6. Use different FORMAT for inserting line numbers using -n options

There are various FORMATs available for inserting line numbers. From the man page :

FORMAT is one of:

  • ln – left justified, no leading zeros
  • rn – right justified, no leading zeros
  • rz – right justified, leading zeros

Here is an example that demonstrated all the above formats:

$ nl -nln sort.txt1     	UK2     	Australia3     	Newzealand4     	Brazil5     	America$ nl -nrn sort.txt     1	UK     2	Australia     3	Newzealand     4	Brazil     5	America$ nl -nrz sort.txt000001	UK000002	Australia000003	Newzealand000004	Brazil000005	America

Please note that you can also use  .

Linux wc Command Examples

The wc utility in Linux is used print information like number of newlines, words, byte counts of a file.

Here is the syntax and description from man page :

SYNOPSIS 

wc [OPTION]… [FILE]… 
wc [OPTION]… –files0-from=F

DESCRIPTION 

Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or 
when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space.

1. A basic example

Here is a basic example of Linux wc command :

$ cat sort.txtUKAustraliaNewzealandBrazilAmerica$ wc sort.txt 5  5 41 sort.txt

The three numbers produced in output correspond to number of lines, number of words and number of bytes. These three numbers are followed by name of the file.

2. Display word count through -w option

The word count of a file can be displayed explicitly through -w option.

Here is an example :

$ wc -w sort.txt5 sort.txt

So we see that number of words were printed followed by the file name.

3. Display length of longest line through -L option

The wc command provides an option -L that can be used to display the length of longest line in the file.

Here is an example :

$ wc -L sort.txt10 sort.txt

So we see that length of the longest line (‘Newzealand’ in our case) was displayed in the output.

4. Display number of newlines through -l option

The wc command provides an option -l through which number of newlines can be displayed in the output.

Here is an example :

$ wc -l sort.txt5 sort.txt

So we see that there were 5 newlines in the file sort.txt

5. Display number of bytes through -c option

Total number of bytes in a file can be displayed by using -c option of the wc command.

Here is an example :

$ wc -c sort.txt41 sort.txt

转载地址:http://nhhbi.baihongyu.com/

你可能感兴趣的文章
CImg库编译使用.
查看>>
openstack虚拟机创建流程
查看>>
openstack网络总结
查看>>
excel 查找一个表的数据在另一个表中是否存在
查看>>
centos 7 上配置dnsmasq 同时支持ipv4和ipv6的DHCP服务
查看>>
AsyncTask、View.post(Runnable)、ViewTreeObserver三种方式总结frame animation自动启动
查看>>
Android中AsyncTask的简单用法
查看>>
S3C6410启动模式介绍
查看>>
Jlink + ADS调试 S3C2440
查看>>
2440初始化存储器原理(接上一篇)
查看>>
S3C2440 USB 设备控制器(转)
查看>>
Linux usb 设备驱动 (1)
查看>>
解决跨网场景下,CAS重定向无法登录的问题(无需修改现有代码)
查看>>
java反编译命令
查看>>
activemq依赖包获取
查看>>
概念区别
查看>>
关于静态块、静态属性、构造块、构造方法的执行顺序
查看>>
final 的作用
查看>>
在Idea中使用Eclipse编译器
查看>>
idea讲web项目部署到tomcat,热部署
查看>>