You can use the cat command concatenate files and show on the screen under Linux or Unix like operating systems.
Tutorial details | |
---|---|
Difficulty | Easy (rss) |
Root privileges | No |
Requirements | None |
Time | N/A |
Syntax
The syntax is:
cat -n fileNameHere
OR
cat --number foo.c
OR use the more command/less command as filter when text can not be fitted on the screen:
cat --number foo.c | more
OR
cat --number foo.c | less
The -b / --number-nonblank option number all nonempty output lines, starting with one and the syntax is:
cat -b fileNameHere
OR
cat --number--nonblank filename
Finally, you suppress or remove repeated empty output lines with the -s / --squeeze-blank option:
cat -s -n fileNameHere
cat -s -n /etc/resolv.conf
Sample outputs:
1 # 2 # Mac OS X Notice 3 # 4 # This file is not used by the host name and address resolution 5 # or the DNS query routing mechanisms used by most processes on 6 # this Mac OS X system. 7 # 8 # This file is automatically generated. 9 # 10 search nixcraft.com 11 nameserver 8.8.8.8 12 nameserver 192.168.2.254 13 nameserver 8.8.4.4
OR (GNU only syntax)
cat --squeeze-blank -n filename
Say hello to nl command
Use the nl command number lines of files under Linux or Unix oses. The syntax is:
nl filename
Examples
Create a text file called hello.c as follows:
/* Purpose: Sample see program to print Hello world on stdout * Author: nixCraft * Copyright: None / Copyleft */ #include<stdio.h> /* our main */ int main(void){ printf("Hello world\n"); return 0; }
Use the cat or nl command to display line numbers:
cat -n hello.c nl hello.c
Sample outputs:
A note about sed
To just print 3rd line use the sed command:
sed -n 3p /etc/resolv.conf
To just print 3rd and 5th line use the sed command:
sed -n -e 3p -e 5p /etc/resolv.conf
To see specific range, say show lines between 3 to 5, run:
sed -n 3,5p /etc/resolv.conf
For more information see man pages – sed(1).
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
- RSS feed or Weekly email newsletter
- Share on Twitter • Facebook • 3 comments... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Hi Thanks for sharing … Its of great help …
And I m a great fan of your … because I found 90% of what i think on cyberciti.
Just a little correction here in this post ..
“cat –number–nonblank filename ”
is giving error
cat: unrecognized option ‘–number–nonblank’
Try ‘cat –help’ for more information.
Just make it
“cat –number-nonblank filename”
a single hyphen – after number
Thank you!
But we had a trouble. “cat” command does not stop display when the text is full screen.
So, we have any other option to resolve this in-convenience.
tahi
The standard output could instead be redirected using a pipe (represented by a vertical bar) to a filter (i.e., a program that transforms data in some meaningful way) for further processing. For example, if the file is too large for all of the text to fit on the monitor screen simultaneously, as is frequently the case, the text will scroll down the screen at high speed and be very difficult to read. This problem is easily solved by piping the output to the filter less, i.e.,
cat file1 | less
This allows the user to advance the contents of the file one screenful at a time by pressing the space bar and to move backwards by pressing the b key. The user can exit from less by pressing the q key.