Author Archive

Chang the swap behavior of linux

The default swappiness is 60. It can be 0-100, with the bigger value more pages will be swapped to harddisk from memory. If you want to use more physical memory and less swap, decrease the number. echo 40 > /proc/sys/vm/swappiness

Share

What you may not know about linux sed

1. Separator can be any symbol. This also works: echo ‘/etc/python3/dummy’ | sed ‘s|/etc/python3/|/etc/python2/|’ output: /etc/python2/dummy In this example above I used | to replace the normally used separator /

Share

Two ways to write literal strings containing line breaks to a file

1. Use printf printf "line 1 line2 line 3 containing a variable: ${PWD} line 4 contains a quote mark ‘ and \" ">temp.txt   cat temp.txt Notice double quote ” needs to be escaped. 2. Use Here Doc: cat > temp.txt <<EOF line 1 line2 line 3 containing a variable: ${PWD} line 4 contains a [...]

Share

split string in Bash

emails="email1@gmail.com;email2@gmail.com;email3@gmail.com" emails=${emails//;/ } #replace ; with space arr_emails=($emails) # put them into an array for item in ${arr_emails[@]}; do echo $item done In fact this works also. You don’t really need arrays emails="email1@gmail.com;email2@gmail.com;email3@gmail.com" emails=${emails//;/ } #replace ; with space for item in $emails; do echo $item done But with using arrays, you can do many [...]

Share

sed regular expressions

echo ‘iweigh297lbs’ | sed ‘s/.*[^0-9]\([0-9]\+\).*/\1/’ The expression has to match the whole line. Greed: The expression will match the largest possible from left to right. This won’t work. echo ‘iweigh297lbs’ | sed ‘s/.*\([0-9]\+\).*/\1/’ Output 7 This won’t work echo ‘iweigh297lbs’ | sed ‘s/.*[^0-9]\([0-9]*\).*/\1/’ This works echo ‘iweigh297lbs’ | sed ‘s/.*[^0-9]\([0-9][0-9]*\).*/\1/’ + has to be escaped. [...]

Share