Command Line

How To: Sort Text Alphabetically

Today’s article is mostly just a fun article, one suitable for a beginner, as we learn how to sort text alphabetically. We’ll be doing this in the terminal, of course. If you’re a new user and want to get acclimated to using the terminal, this might be a good article to read. It won’t be short, but it should be easy.

I dimly recall watching an old video about the Unix operating system. Of course, this was all terminal activity. I want to say that it was Dennis Ritchie or some other Unix founder, but they did things like cut and paste along with stuff like piping the output to a new document.

Even though I’d used Unix (and then Linux) before this, I still appreciated the demonstration video. It was indicative of how powerful the terminal can be. If I was less lazy, I’d go hit up YouTube to find the video again. I haven’t seen it in years.

Anyhow, we’ll be learning how to sort text alphabetically. It’ll be fun!

The Sort Command:

As I said, we’ll be doing this text sorting in the terminal. The tool we’ll be using is the sort tool. You won’t need to install anything to use the sort command. It’ll be there by default.

The sort command has a man page. You can access the man page with this command:

man sort

If you do that, you’ll see how powerful the sort command can be when used by someone who knows what they’re doing. We’ll just cover some basics. You can also see that the sort command is described as this:

sort – sort lines of text files

That description says that we’re using the right tool for the job. We want to sort lines of text files alphabetically. It’s not hard. You have to learn which tool is the best for the job you want to do. (Also, the tools I think are the best are the best for me, the tools you prefer are the tools that are best for you. This being Linux, there are always multiple ways to accomplish the same goal!)

While not necessarily a part of this article, you might also want to read this article to learn about using the output from these commands.

How To: Write Text To A File From The Terminal with “>” and “>>”

So then, let’s get into the meat of the article…

Sort Text Alphabetically:

For this exercise, we’re going to need an open terminal. This is quickly done. You can, more often than not, just press CTRL + ALT + T to open the terminal. 

With the terminal open, we need to do a little file preparation. This way, we’re all on the same page. I hope that it’ll be easier this way.

Create A Text File:

With your terminal open, I want you to enter the following commands…

You’ll first move to a directory and create a file:

cd ~/Documents
touch sort.txt

Now, let’s populate that sort.txt file. We’ll edit the file with Nano.

nano sort.txt

Copy and paste the following text into that sort.txt file:

New Hampshire
Connecticut
Maine
Vermont
Rhode Island
Massachusetts

And, of course, we’ll now save the file. To save a file in Nano, you just need to press CTRL + X, then Y, and then ENTER. That should save the file as sort.txt. You can verify this with this command:

cat sort.txt

When the output from that command matches your expectations, you’re free to go to the next step. If it doesn’t, repeat the above commands carefully, following them one by one. If you still can’t manage to do this, you can download a copy of sort.txt here.

Using The Sort Command:

Now that you have a file called sort.txt in your ~/Documents directory, you can start to sort it. We’re just going to sort text alphabetically as a way to expose you to the sort command. 

If you want to sort the text alphabetically, you use this command:

sort sort.txt

It will send the results to standard output, that is it’ll post the sorted output to the terminal. (You can save this output as I’ll show in a minute.) The output of that command should look like this:

kgiii@kgiii:~/Documents$ sort sort.txt
Connecticut
Maine
Massachusetts
New Hampshire
Rhode Island
Vermont

If you want to sort the content of the sort.txt file backward, you can do that. You just use the -r flag. That looks like this:

sort -r sort.txt

As an example, the output from that command should look like this:

kgiii@kgiii:~/Documents$ sort -r sort.txt
Vermont
Rhode Island
New Hampshire
Massachusetts
Maine
Connecticut

I linked an article above and it’s worth reading if you’re new. But, if you want to output any of this output to a new file, you’d do so like this:

The command’s syntax would be:

sort <file_name> > <new_file_name>

That’s not very clear, so you can use this example to figure it out:

sort sort.txt > sorted.txt

That will take the alphabetically sorted output and write it to a file named sorted.txt. It’s a good way to sort text and there’s quite a bit more to the sort command.

Please consider reading the ‘Closure’ bit, thanks!

Closure:

Well, this is a long article – but it should still be an easy article. I’m hopeful that this is written in a way that even a new user can follow. Please consider leaving a comment letting me know if this is easy to follow. Seriously…

See, as the author, I have no flippin’ idea if this stuff is really easy to follow. I legit have no idea if it’s as easy as I think it is to follow along in this article. One of the things I’ve done is play around with formatting and making the articles more verbose. I’ve tried to not increase the verbosity just for verbosity’s sake, but rather to explain more.

I mean, it’s easy enough for me to follow. After all, I wrote it.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

KGIII

Retired mathematician, residing in the mountains of Maine. I may be old and wise, but I am not infallible. Please point out any errors. And, as always, thanks again for reading.

Recent Posts

Enable/Disable Your Network Interface

Today we'll cover one way to enable or disable your network interface in the Linux…

7 months ago

Check Your NIC Speed In The Terminal

Today's exercise is a nice and simple exercise where we check your NIC speed in…

7 months ago

Easily Monitor Your Wireless Connection

Have you ever wanted to easily monitor your wireless connection? Well, now you can learn…

7 months ago

Count The Files In A Directory

I think I've covered this before with the ls command but this time we'll count…

7 months ago

Get System Information With The ‘uname’ Command In Linux

Today we'll be learning about a basic Linux command that's known as 'uname' and it…

7 months ago

hardinfo Has Been Rebooted As hardinfo2

If you've used hardinfo in the past, it may interest you to know that hardinfo…

7 months ago