'sed' - filter and transform text - Video Man Pages

11/09/2025 14 min
'sed' - filter and transform text - Video Man Pages

Listen "'sed' - filter and transform text - Video Man Pages"

Episode Synopsis

The 'sed' command is a very powerful shell utility that is used to filter and transform text.- Replace first instance on each line of "old" with "new" using basic regex and print to stdout: command | sed 's/old/new/'- Replace "old" with "new" on all lines using basic regex and print to stdout: sed 's/old/new/g' path/to/file- Replace case-insensitive "old" with "new" on all lines and print to stdout: sed 's/old/new/gi' path/to/file- Replace "old" with "OLD" on all lines using extended regex and print to stdout: sed -E 's/(old)/\U\1/g' path/to/file command | sed -E 's/(old)/\U\1/g' NOTE \U convert to uppercase; \1 tells it to convert the first capture group of the sed command (which is "old").- Replace "old" with "new" in-place in a file (writes to the file!): sed -i 's/old/new/g' path/to/file- Replace "old" with "new" and "first" with "second" in-place in a file (writes to the file!): sed -i -e 's/old/new/g' -e 's/first/second/g' path/to/file- Print the first 10 lines to stdout (similar to 'head'): command | sed -n '10p' NOTE The '-n' flag suppresses the printing of the entire output of the command. Without the '-n', it would print the 10 lines and then it would print the entire output from command.- Print only lines that contain the pattern (similar to 'grep'): sed -n '/pattern/p' path/to/file- Delete pattern and print to stdout: sed '/pattern/d' path/to/file- Delete lines 1-4 of a file and create a back up file with the .bak extension: sed -i.bak '1,4d' path/to/file- Delete blank lines (with or without spaces/tabs) from a file and print to stdout: sed '/^[[:space:]]*$/d' path/to/file- Insert a new line at the beginning of file, overwriting the file in-place: sed -i '1i\A new first line\' path/to/file- Inserting a line before a pattern and print to stdout. sed '/pattern/i\This is a new line' path/to/file- Append a line after a pattern and print to stdout. sed '/pattern/a\This is a new line' path/to/fileREFERENCED:► https://gitlab.com/dwt1/vidmanWANT TO SUPPORT THE CHANNEL? 💰 Patreon: https://www.patreon.com/distrotube 💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW🛍️ Amazon: https://amzn.to/2RotFFi👕 Teespring: https://teespring.com/stores/distrotubeDT ON THE WEB:🕸️ Website: http://distro.tube📁 GitLab: https://gitlab.com/dwt1 🗨️ Mastodon: https://fosstodon.org/@distrotube👫 Reddit: https://www.reddit.com/r/DistroTube/📽️ Odysee: https://odysee.com/@DistroTube:2FREE AND OPEN SOURCE SOFTWARE THAT I LIKE:🌐 Brave Browser - https://brave.com/📽️ Open Broadcaster Software: https://obsproject.com/🎬 Kdenlive: https://kdenlive.org🎨 GIMP: https://www.gimp.org/💻 VirtualBox: https://www.virtualbox.org/🗒️ Doom Emacs: https://github.com/hlissner/doom-emacsYour support is very much appreciated. Thanks, guys!...https://www.youtube.com/watch?v=D7aDAXWi5SM