Skip to Content
Shell Scripting: Expert Recipes for Linux, Bash, and More
book

Shell Scripting: Expert Recipes for Linux, Bash, and More

by Steve Parker
August 2011
Beginner to intermediate
600 pages
14h 29m
English
Wrox
Content preview from Shell Scripting: Expert Recipes for Linux, Bash, and More

uniq

At first glance, uniq appears to be a tool that displays only unique lines in a file. In reality, it strips consecutive repeated lines, but if the same line occurs later in the input, it will be displayed again. Therefore, a common combination is sort | uniq, although that can be done slightly more efficiently using the sort -u command, as there is no need to spawn a second process and set up the pipe between them.

It may seem like a fair question to ask what uniq is useful for, and the answer is that uniq is actually quite flexible in what it can do. In the previous chapter, uniq was used with the -w and -d flags to find only those entries that had duplicate checksums. The -w flag tells it to parse only the first 32 characters (which are the checksum; the rest will inevitably be different), and the -d flag (if the input data is sorted) lists only those items that are not unique. This is a very useful way to filter the results, which would be cumbersome and time-consuming in a for or while loop in a shell script.

warning.ai

The uniq command is also rather unique in that if passed a second filename on the command line, it will write the output to that file instead of to stdout, overwriting it if it already exists.

The complement of -d is -u; while uniq will normally print each line only once, with -u it will only print the unique lines; if an entry is listed twice, it will not be displayed ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Linux Command Line and Shell Scripting Techniques

Linux Command Line and Shell Scripting Techniques

Vedran Dakic, Jasmin Redzepagic
Linux Shell Scripting Cookbook - Third Edition

Linux Shell Scripting Cookbook - Third Edition

Clif Flynt, Sarath Lakshman, Shantanu Tushar

Publisher Resources

ISBN: 9781118166321Purchase bookDownloads