Changes

Jump to navigation Jump to search
1,461 bytes added ,  13:43, 25 September 2023
m
Line 10: Line 10:  
Example:
 
Example:
 
  <nowiki>echo "esto es un ejemplo" | sed 's#e#R#g'</nowiki>
 
  <nowiki>echo "esto es un ejemplo" | sed 's#e#R#g'</nowiki>
 +
 +
==Replace New Line Characters==
 +
sed ':a;N;$!ba;s/\n/ /g'
 +
This will read the whole file in a loop, then replaces the newline(s) with a space.<br />
 +
Explanation:<br />
 +
Create a label via :a.<br />
 +
Append the current and next line to the pattern space via N.<br />
 +
If we are before the last line, branch to the created label $!ba ($! means not to do it on the last line as there should be one final newline).<br />
 +
Finally the substitution replaces every newline with a space on the pattern space (which is the whole file).<br />
 +
 +
Here is cross-platform compatible syntax which works with BSD sed (as per @Benjie comment):<br />
 +
sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g'
 +
 +
==Replace New Line (\n) with ", "==
 +
sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/", "/g'
 +
 +
tr -d '\n'
 +
 +
==Uppercase to lowercase==
 +
sed 's/.*/\L\1/g' < input
 +
 +
==Mongo operators to Python List==
 +
cat mongodb_operators.txt | grep -E ^\\\$ | awk '{ print "\x27" $1 "\x27" }' | sed s/\\\$//g | sed ':a;N;$!ba;s/\n/, /g'
 +
 +
==Print some line of a file==
 +
To print line 45 from file rigodon-22011715-3.jl.ok
 +
sed -n 45p rigodon-22011715-3.jl.ok
 +
 +
To print multiple lines:
 +
sed -n -e 5p -e 8p file
 +
To print a range of lines:
 +
sed -n 5,8p file
 +
To print a range and some specific file:
 +
sed -n -e 5,8p -e 10p file
 +
 +
==Remove empty lines==
 +
<syntaxhighlight lang="bash">
 +
sed -i '/^$/d' file.txt
 +
</syntaxhighlight>
 +
 +
== Remove white spaces ==
 +
<syntaxhighlight lang="bash">
 +
sed -e 's/^[ \t]*//'
 +
</syntaxhighlight>

Navigation menu