Introduction
The sed command is a stream editor that allows you to perform text manipulation operations on input streams. It is a command-line utility that is available on most Unix-like systems, including Linux.
sed is particularly useful for automating text editing tasks, such as replacing or deleting text, and for transforming text in complex ways.
Overview of the sed command
The sed command works by reading an input stream, applying a set of commands to each line of the input, and then outputting the modified text. The basic syntax of the sed command is as follows:
sed [options] 'command' input_fileThe options are used to modify the behavior of the sed command, while the command specifies the text manipulation operations to be performed. The input_file parameter specifies the name of the file to be processed.
Text manipulation operations
The sed command supports a wide range of text manipulation operations. Here are some examples of sed commands:
Searching for patterns
The following command searches for lines that contain the word “Linux” and prints them to the console:
sed -n '/Linux/p' input_fileThe -n option suppresses the default output, while the /Linux/p command searches for lines that contain the word “Linux” and prints them to the console.
Replacing text
The following command replaces all occurrences of the word “Linux” with the word “Unix” and writes the output to a new file:
sed 's/Linux/Unix/g' input_file > output_fileThe s command stands for “substitute” and the g option stands for “global”, which means that all occurrences of the pattern should be replaced.
Deleting text
The following command deletes all lines that contain the word “Linux”:
sed '/Linux/d' input_file > output_fileThe d command stands for “delete” and the /Linux/ pattern searches for lines that contain the word “Linux”.
Adding text
The following command adds a line of text after every line that contains the word “Linux”:
sed '/Linux/a\This is a new line' input_file > output_fileThe a command stands for “append” and the backslash is used to escape the newline character.
Inserting text
The following command inserts a line of text before every line that contains the word “Linux”:
sed '/Linux/i\This is a new line' input_file > output_fileThe i command stands for “insert” and the backslash is used to escape the newline character.
Modifying specific lines
The following command replaces the first occurrence of the word “Linux” with the word “Unix” on the third line of the input file:
sed '3s/Linux/Unix/' input_file > output_fileThe 3s command specifies that the operation should be performed on the third line of the input file.
Using regular expressions
The following command replaces all occurrences of the word “Linux” or “Unix” with the word “Operating System”:
sed 's/Linux\|Unix/Operating System/g' input_file > output_fileThe | character is used to specify multiple patterns, and the g option stands for “global”, which means that all occurrences of the pattern should be replaced.
Death is hard enough. Accessing accounts shouldn't be.
When someone dies, you don't get even one extra second to access the documents and information they meant to share it with you. Trying to fix this problem with Eternal Vault.
Conclusion
The sed command is a powerful tool for text manipulation on Linux systems. With sed, you can automate repetitive text editing tasks and transform text in complex ways.
By mastering the sed command, you can save time and effort when working with large amounts of text.