If you are a Linux administrator, you may be familiar with tail, head, and grep commands when reading text files, and they are convenient when looking at log files. (If you are not familiar, we are going to summarize it here.) In a Linux shell, if we want to check the first three lines of a log file, we would execute head -n 3, and to read the last two lines of any given file, we would run tail -n 2.
If we want to check the entire contents of a file, we can use cat file.txt. On the other hand, if we’re going to search a specific string within a particular file, we can use cat file.txt | grep “string.”
The entire process of reading text files in a Linux bash shell is depicted in the image below.
How about reading text files with PowerShell? That is a piece of cake and more intuitive (since it is a single cmdlet, which helps to save the precious memory slots of my brain already stuffed with all those command names!).
First, to get the entire content of any given file, you can use the Get-Content cmdlet.
If you want the first lines (head) or the end of the file (tail), we can execute these cmdlets:
Get-Content <file.txt> -Head 2 Get-Content <file.txt> -Tail 3
If we want to do something similar to the grep command. We will use the Select-String cmdlet.
Get-Content <file.txt> | Select-String “String”
The entire process that we have just described is depicted in the image below.
This article has been updated with new information.