Difference between revisions of "Sed (editor)"
Jump to navigation
Jump to search
↑ https://stackoverflow.com/a/801036
Tags: Mobile web edit, Mobile edit |
|||
(35 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{lowercase}} | ||
<code>[[wikipedia:sed]]</code> ([[1974]]) utility is using for text processing, such as strings replacements. | <code>[[wikipedia:sed]]</code> ([[1974]]) utility is using for text processing, such as strings replacements. | ||
+ | * Man: https://manpages.ubuntu.com/manpages/noble/en/man1/sed.1.html | ||
* Man: https://man7.org/linux/man-pages/man1/sed.1p.html | * Man: https://man7.org/linux/man-pages/man1/sed.1p.html | ||
+ | sed /xxx/yyy/g | ||
+ | |||
+ | g - global | ||
+ | [[sed -i|-i]] -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if SUFFIX supplied) | ||
+ | [[sed -e|-e]] | ||
+ | |||
+ | -E, -r, --regexp-extended use extended regular expressions in the script (for portability use [[POSIX -E]]). | ||
+ | |||
+ | [[brew install gnu-sed]] | ||
== Sed Basic examples == | == Sed Basic examples == | ||
− | * [[Replace]] all occurrences of TEXT_STRING | + | * [[Replace]] all occurrences of TEXT_STRING (<code>/g</code>) |
− | :: <code>sed -i s/OLD_TEXT_STRING/NEW_TEXT_STRING/g file.txt</code> | + | :: <code>[[sed -i]] s/OLD_TEXT_STRING/NEW_TEXT_STRING/g file.txt</code> |
* [[Append]] a text (TEST_TO_APPEND_AT_BEGINNIG) at the [[beginning]] of a line: | * [[Append]] a text (TEST_TO_APPEND_AT_BEGINNIG) at the [[beginning]] of a line: | ||
:: <code>sed -i s/^/TEST_TO_APPEND_AT_BEGINNIG/ file.txt</code> | :: <code>sed -i s/^/TEST_TO_APPEND_AT_BEGINNIG/ file.txt</code> | ||
− | :: Append a | + | :: [[Append a space]] at the beginning of lines: |
::: <code>[[sed s/^./" "/]]</code> | ::: <code>[[sed s/^./" "/]]</code> | ||
− | * Append a text (TEST_TO_APPEND_AT_END) at the [[end of a line]] (<code>$</code>): | + | * Append a text (TEST_TO_APPEND_AT_END) at the [[end of a line]] (<[[code]]>$</code>): |
:: <code>sed -i s/$/TEST_TO_APPEND_AT_END/ file.txt</code> | :: <code>sed -i s/$/TEST_TO_APPEND_AT_END/ file.txt</code> | ||
Line 23: | Line 34: | ||
* Add at the beginning and end of a sentence: <pre><code> and </code></pre> | * Add at the beginning and end of a sentence: <pre><code> and </code></pre> | ||
<pre>sed s/'^'/'\<code\>'/ | sed s/'$'/'\<\/code\>'/</pre> | <pre>sed s/'^'/'\<code\>'/ | sed s/'$'/'\<\/code\>'/</pre> | ||
+ | |||
+ | sed s/^/"[["/ | sed s/$/"]]"/ | ||
+ | |||
+ | * Add * at the beginning of the line: | ||
+ | ::<code>[[sed]] s/^/"*"/ </code> | ||
* Replace [[spaces]]: | * Replace [[spaces]]: | ||
:<code>[[sed]] s/' '//g</code> | :<code>[[sed]] s/' '//g</code> | ||
+ | |||
+ | * Delete characters before a pattern | ||
+ | [[sed -e]] 's/....yourtext/ yourtext/g' file.txt | ||
+ | |||
+ | * sed -Ei 's/^# deb-src /deb-src /' [[/etc/apt/sources.list]] | ||
== Help == | == Help == | ||
Line 31: | Line 52: | ||
sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...] | sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...] | ||
− | == Related | + | == Related == |
* <code>[[awk]]</code> | * <code>[[awk]]</code> | ||
* <code>[[lineinfile (Ansible)]]</code> | * <code>[[lineinfile (Ansible)]]</code> | ||
Line 37: | Line 58: | ||
* <code>cat your_file.txt | [[while read]] i; do echo "YOUR_TEST $i"; done</code> | * <code>cat your_file.txt | [[while read]] i; do echo "YOUR_TEST $i"; done</code> | ||
* <code>cat your_file.txt | [[while read]] i; do echo "$(date) $i"; done</code> | * <code>cat your_file.txt | [[while read]] i; do echo "$(date) $i"; done</code> | ||
+ | * <code>[[sed -n]]</code> | ||
+ | * [[Chef: Editing a file]]: <code>[[replace_or_add]]</code> | ||
+ | * [[Redirection]]: [[double redirection]] | ||
+ | * [[file (Puppet)]] | ||
+ | * [[prepend]] | ||
+ | * [[kubectl patch]] | ||
+ | * [[gsub]] [[gwak]] | ||
+ | * <code>[[envsubst]]</code> | ||
== See also == | == See also == | ||
+ | * {{sed}} | ||
* {{vi}} | * {{vi}} | ||
* {{grep}} | * {{grep}} | ||
− | |||
− | |||
[[Category:Linux commands]] | [[Category:Linux commands]] |
Latest revision as of 14:42, 4 April 2024
wikipedia:sed
(1974) utility is using for text processing, such as strings replacements.
- Man: https://manpages.ubuntu.com/manpages/noble/en/man1/sed.1.html
- Man: https://man7.org/linux/man-pages/man1/sed.1p.html
sed /xxx/yyy/g
g - global -i -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if SUFFIX supplied) -e
-E, -r, --regexp-extended use extended regular expressions in the script (for portability use POSIX -E).
brew install gnu-sed
Contents
Sed Basic examples[edit]
- Replace all occurrences of TEXT_STRING (
/g
)
sed -i s/OLD_TEXT_STRING/NEW_TEXT_STRING/g file.txt
sed -i s/^/TEST_TO_APPEND_AT_BEGINNIG/ file.txt
- Append a space at the beginning of lines:
- Append a text (TEST_TO_APPEND_AT_END) at the end of a line (<code>$):
sed -i s/$/TEST_TO_APPEND_AT_END/ file.txt
- Move N lines from text file to new file:
head -1000 input > output && sed -i '1,+999d' input
[1]
- Add at the beginning and end of a sentence:
<code> and </code>
sed s/'^'/'\<code\>'/ | sed s/'$'/'\<\/code\>'/
sed s/^/" sed s/$/""/
- Add * at the beginning of the line:
sed s/^/"*"/
- Replace spaces:
sed s/' '//g
- Delete characters before a pattern
sed -e 's/....yourtext/ yourtext/g' file.txt
- sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
Help[edit]
usage: sed script [-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]
Related[edit]
awk
lineinfile (Ansible)
- Concatenate lines on a file using
tr
cat your_file.txt | while read i; do echo "YOUR_TEST $i"; done
cat your_file.txt | while read i; do echo "$(date) $i"; done
sed -n
- Chef: Editing a file:
replace_or_add
- Redirection: double redirection
- file (Puppet)
- prepend
- kubectl patch
- gsub gwak
envsubst
See also[edit]
sed, gsed
,-n, -i
,Ansible: replace
,append
,Chef: Editing a file
,lineinfile
- Editors:
vi, vim
,sed
,awk
, emacs,lineinfile (Ansible)
, Atom,paste
, Neovim, Rider,visudo, vipw
,update-alternatives
,nano
,more, less
,.vimrc
,set (vi)
zed ack, ag, grep
,egrep, fgrep
,agrep
,ngrep
,pgrep
,awk
,sed
,strings
,tr
,tail
,mtail
,git grep
,wc
,uniq
,LogQL
,findstr (Windows)
,rg, git-grep, cut
Advertising: