- Bash Cookbook
- Ron Brash Ganesh Naik
- 242字
- 2021-07-23 19:17:36
Using SED and AWK to remove/replace substrings
Again, when we need to remove a pesky character or remove sections of strings upon occurrence, we can always rely on these two powerful commands: sed and awk. And while we saw that Bash does indeed have a similar functionality built-in, the full tools are able to offer the same and more complex functionality. So, when should we use these tools?
- When we care less about the speed that might be gained by using the built-in functionality of Bash
- When more complex features are needed (when programming constructs like multi-dimensional arrays are required or editing streams)
- When we are focused on portability (Bash might be embedded or a limited version and standalone tools may be required)
Stream editor (SED) is a handy text manipulation tool that is great for one-liners and offers a simple programming language and regex matching. Alternatively, AWK is also powerful and arguably more than SED. It offers a more complete programming language with a variety of data structures and other constructs. However, it is better suited when working with files such as CSVs, which may contain fields or structured data, but SED can be better when working with text substitutions when working with pipes (for example, grep X | sed ... > file.txt).