aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/tools/sed.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/tools/sed.md b/src/tools/sed.md
index 1bd8185..5b5f741 100644
--- a/src/tools/sed.md
+++ b/src/tools/sed.md
@@ -6,6 +6,8 @@ sed [opts] [script] [file]
-i edit file in place
-i.bk edit file in place and create backup file
(with .bk suffix, can be specified differently)
+ --follow-symlinks
+ follow symlinks when editing in place
-e SCRIPT add SCRIPT to commands to be executed
(can be specified multiple times)
-f FILE add content of FILE to command to be executed
@@ -60,6 +62,12 @@ echo -e 'aa\nbb' | sed '2aABC'
echo -e 'aa\nbb' | sed '2cABC'
# aa
# ABC
+
+# Insert before pattern match.
+echo -e 'aa\nbb' | sed '/bb/i 123'
+# aa
+# 123
+# bb
```
### Substitute lines
@@ -76,3 +84,19 @@ echo -e 'foo\nbar' | sed -e 's/foo/FOO/' -e 's/FOO/BAR/'
# BAR
# bar
```
+
+### Edit inplace through symlink
+```sh
+touch file
+ln -s file link
+ls -l link
+# lrwxrwxrwx 1 johannst johannst 4 Feb 7 23:02 link -> file
+
+sed -i --follow-symlinks '1iabc' link
+ls -l link
+# lrwxrwxrwx 1 johannst johannst 4 Feb 7 23:02 link -> file
+
+sed -i '1iabc' link
+ls -l link
+# -rw-r--r-- 1 johannst johannst 0 Feb 7 23:02 link
+```