Introduction to ‘sed’
sed
stands for stream editor, and it is a powerful command-line tool in Linux used for text manipulation. It is especially useful for parsing and transforming text in files. sed
works by taking input from a file or standard input stream, processing it line by line, and then printing the result to standard output. It uses a scripting language for specifying editing commands, making it a versatile tool for various text editing tasks.
Basic Syntax of ‘sed’
The basic syntax of sed
is as follows:
1
sed [OPTIONS] 'command' filename
In this syntax, OPTIONS
are used to specify different options to modify the behavior of sed
, while the command
is a set of editing instructions enclosed in single quotes that sed
will execute on the input file. The filename
parameter specifies the file to operate on. If no filename is specified, sed
reads input from the standard input stream.
Example Codes
Example 1: Replace a word in a file
To replace all occurrences of a word in a file, you can use the following sed
command:
1
sed 's/old_word/new_word/g' filename
In this command, s
is the substitution command, and g
stands for global (replaces all occurrences). This command will replace all instances of old_word
with new_word
in the file specified.
Example 2: Delete lines matching a pattern
To delete lines in a file that match a specific pattern, you can use the following sed
command:
1
sed '/pattern/d' filename
In this command, /pattern/
is the pattern to match, and d
is the delete command. This command will remove all lines containing the specified pattern from the file.
Example 3: Print specific lines in a file
To print specific lines in a file, you can use the following sed
command:
1
sed -n '5,10p' filename
In this command, -n
suppresses automatic printing of lines, and 5,10p
prints lines 5 to 10 from the file specified. This command is useful for extracting specific lines from a file.
Versions and Compatibility
sed
is a standard Unix utility that is available on most Unix-like operating systems, including Linux. It is a part of the GNU Core Utilities package and is widely supported across different Linux distributions. The commands and syntax provided in this post should work on modern versions of sed
, ensuring compatibility and consistency across platforms.
In conclusion, sed
is a versatile and powerful tool for text manipulation in Linux. By understanding its syntax and commands, you can perform a wide range of text editing tasks efficiently and effectively. Whether it’s replacing text, deleting lines, or extracting specific content, sed
offers a flexible and intuitive way to manipulate text files with ease.