0. Awk
Extract zip download information from web source code and wget all of them:
grep zip web_source.data | awk -F "\"" '{print $12}’
http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/sample_code/Attribute.zip
http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/sample_code/MultiMVC%20Matchismo.zip
1.tr 函數(shù)的使用:所有的小寫字母變成大寫
read answer
answer=echo $answer | tr [a-z] [A-Z]
把a(bǔ)nswer中的內(nèi)容讀取出來傳遞給tr函數(shù)复哆,tr函數(shù)把a(bǔ)nswer中所有的小寫字母變成大寫字母
2. echo的使用:輸出但是不換行
echo -n "Can you write device drivers?"
輸出但是不換行
3. 使用cut選定字段
ls -l | cut -c 1-10 選定每行前10個(gè)字符
cut -d : -f 1,5 /etc/passwd 以:為界定符,選取passwd文件的第一個(gè)和第五個(gè)字段
4. tr命令的使用
語法如下:tr [options] source-char-list replace-char-list
示例:有一個(gè)test文件忍疾,內(nèi)容為:aaabbbcccdddefghiii
tr -c "a" "z" < test | cat 得到結(jié)果:aaazzzzzzzzzzzzzzzzz,除了a以外切省,其它字符都用z替換
tr -d "ad" < test | cat 得到結(jié)果:bbbcccefghiii飒房,a和d字符被刪除
tr -s "ad" < test | cat 得到結(jié)果:abbbcccdefghiii,濃縮a和d字符為一個(gè)
5.去空格和空行:
去除所有空格:
sed 's/ //g'
去除多個(gè)空格:
sed -e 's/[[:space:]][[:space:]]*/ /g'
去除行首的空格:
sed 's/^[ \t]*//'
把tab變成空格:
sed 's/\t/ /g' filename
刪除文件中的空行:
sed /^$/d filename
刪除內(nèi)容為多個(gè)空格/tab組成的行:
sed /^[[:space:]]*$/d filename
6.確定一串字符的長度:AWK方法
echo "hsdfsdfds fdsf" | awk '{ printf ("%d",length($0)) }'
EXECUTOR=ecefjma
USER_RIGTHS_FILE=user_rights
[root@xiwen-aly xiwen]# grep ecefjma user_rights
ecefjma francisco.javier.mateos@ericsson.com ADMIN
gawk '$1 == "'$EXECUTOR'" {print $3}' $USER_RIGTHS_FILE
ADMIN
7.關(guān)于expr從特定位置取特定長度字符問題:
[root@localhost findcdr]# ms=`expr substr 123456 3 2`
[root@localhost findcdr]# echo $ms
34
8.linux輸出指定行
linux輸出指定行
eg: 輸出第10行亮靴。
sed -n "10,1p" filename
顯示整個(gè)文件: sed -n '1,$'p temp.txt $為最后一行
9.Echo Format character and other advance usage.
echo -n "Please, do "'\E[1;33;44m'"NOT"; tput sgr0
echo -e " book a eselnvmai 1xxx if you DO NOT NEED to run SAPC"; tput
10. Sed
```
sed -i '/inset_bf_here/icontent_inserted' /etc/security/limits.conf
[root@aly ~]# echo "qwert aaaaa" | sed 's/\([^ ]\+\).*$/\1/'
qwert
[root@aly ~]# echo " qwert aaaaa" | sed 's|\([^ ]\+\).*$|\1|'
qwert
\1 instead of change, it just display what is regulared.
awk -F"=" '{ print $2 }' | awk -F" " '{ print $1 }'
> 云平臺(tái)開發(fā)運(yùn)維解決方案@george.sre
>
> [個(gè)人主頁:https://geekgoogle.com](https://github.com/george-sre)
>
> [GitHub](https://github.com/george-sre): [https://github.com/george-sre](https://github.com/george-sre)
>
> [Mail](https://george.sre@hotmail.com): [george.sre@hotmail.com](https://george.sre@hotmail.com)
>
> [簡書](http://www.reibang.com/u/1dccda0ce716): [georgesre - 簡書](http://www.reibang.com/u/
> [知乎](https://www.zhihu.com/people/george.sre): [george.sre - 知乎](https://www.zhihu.com/people/george.sre)
>
> 歡迎交流~