Difference between revisions of "Sed (editor)"
Jump to navigation
Jump to search
↑ https://stackoverflow.com/a/801036
(7 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
g - global | g - global | ||
− | [[-i]] | + | [[sed -i|-i]] -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if SUFFIX supplied) |
[[sed -e|-e]] | [[sed -e|-e]] | ||
+ | |||
+ | -E, -r, --regexp-extended use extended regular expressions in the script (for portability use [[POSIX -E]]). | ||
[[brew install gnu-sed]] | [[brew install gnu-sed]] | ||
Line 43: | Line 45: | ||
* Delete characters before a pattern | * Delete characters before a pattern | ||
[[sed -e]] 's/....yourtext/ yourtext/g' file.txt | [[sed -e]] 's/....yourtext/ yourtext/g' file.txt | ||
+ | |||
+ | * sed -Ei 's/^# deb-src /deb-src /' [[/etc/apt/sources.list]] | ||
== Help == | == Help == | ||
Line 55: | Line 59: | ||
* <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> | * <code>[[sed -n]]</code> | ||
− | * [[Chef: Editing a file]] | + | * [[Chef: Editing a file]]: <code>[[replace_or_add]]</code> |
* [[Redirection]]: [[double redirection]] | * [[Redirection]]: [[double redirection]] | ||
* [[file (Puppet)]] | * [[file (Puppet)]] | ||
* [[prepend]] | * [[prepend]] | ||
* [[kubectl patch]] | * [[kubectl patch]] | ||
+ | * [[gsub]] [[gwak]] | ||
+ | * <code>[[envsubst]]</code> | ||
== See also == | == See also == |
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: