Yes, sed can delete lines from a file or input stream. You can use the d command in sed to delete lines that match a specific pattern or to delete lines based on their line numbers.
Examples of Deleting Lines with sed
-
Delete Lines Matching a Pattern:
To delete lines that contain a specific string, you can use the following command:sed '/pattern/d' filenameFor example, to delete all lines containing the word "banana" from a file named
fruits.txt, you would use:sed '/banana/d' fruits.txt -
Delete Specific Line Numbers:
You can also delete lines by specifying their line numbers. For example, to delete the second line of a file:sed '2d' filename -
Delete a Range of Lines:
To delete a range of lines, you can specify the starting and ending line numbers. For example, to delete lines 2 to 4:sed '2,4d' filename -
In-Place Deletion:
If you want to delete lines directly in the file (in-place), you can use the-ioption:sed -i '/pattern/d' filename
Example
Suppose you have a file example.txt with the following content:
apple
banana
cherry
date
To delete the line containing "banana", you would run:
sed '/banana/d' example.txt
The output would be:
apple
cherry
date
Using sed for deleting lines is a powerful way to manipulate text files directly from the command line.
