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:

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:

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

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

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:

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:

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:

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:

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

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:

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

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.

Let’s Use ‘ls’ To Sort Files By Time

Today’s article is going to tell you how to sort files by time while using the ‘ls’ command in the terminal. I find sorting by time is often easiest when working with a lot of files that have less-than-helpful filenames. For example, it’s nice to sort by time when I’m dealing with screenshots, knowing that I took a new screenshot that’s helpfully named something like ‘kgiii@kgiii-msi: ~-Downloads_032.png’.

It’s usually easy enough to graphically sort files by time and date. In your file manager, you might need to select list view, add the column, and then select at least one of the time options. Different GUI file managers will have different options, and may not include all possible time values stored in the file’s meta information. Speaking of screenshots, it might look something like this:

sort by modification time
In this case, arranging items by ‘modification time’ is an available option.

The file’s metadata has several time options and we can sort by those with the ‘ls’ command while in the terminal. The output of ‘ls’ is usually sorted alphabetically. It’s not terribly difficult and will help you along your Linux trails. I find it useful when picking among a large number of files.

Parsing the output of the ‘ls’ command is generally considered a bad idea. We won’t really be doing that, but this is a good time to mention it. If you don’t know why, click this link. They explain it better than I can. That’ll save some time!

Today we will learn to use ‘ls’ to sort files by a few time value stored in the file’s meta information. It’s an easy enough process and a handy tool for your growing toolbox of Linux commands.

Sort Files By Time:

Obviously, you’ll need an open terminal. You can do so with your keyboard – just press CTRL + ALT + T and your default terminal should open.

Once you have it open, the /home/user directory is a fine choice. We won’t need to change directories – but you can. If you have a lot of screenshots saved in ~/Pictures, then you may find that directory more informative. Either way, let’s start with the basics:

This first one will show the last time the file was modified – which may be the creation date and time. That command is (the -l used in each command means use the long listing output):

You can sort by access time, sorting by the last time the file was opened. (Yes, this is all part of a file’s metadata.) To do that, you just use:

With that done, we have one more. This one shows the last time the metadata was changed for the files listed. If you were to use touch to change the last modified time, this would show when you did that. Make sense?

And there you have it! If you want to show the output in reverse order, you just use a -r flag and you can still use the -a flag to show hidden files, should you need to do something like that.

Closure:

That’s about it. You can now sort files by time. It’s a pretty handy tool and one you may find yourself using often. As mentioned above, I find it handiest (with my particular uses) when working with all the screenshots I take. I take a whole lot of screenshots. I assume I take more screenshots than most folks.

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 own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Linux Tips
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.