shell脚本常用语句用法笔记
腳本基本語(yǔ)句用法筆記
- grep
-i 查詢時(shí)不區(qū)分大小寫
-n打印匹配的行號(hào)
-v 打印不匹配的行
-AX包括每次匹配之后X行
-BX包括每次匹配之后X行
cat /etc/passwd |grep student (-i 表示不關(guān)心大小寫)
-E增強(qiáng)符號(hào)的使用
cat inittab |grep -Ev ‘(^#|^$)’ 等價(jià)于 cat inittab |grep -Ev ‘^(#|$)’文件處理后重新保存錯(cuò)誤示范:
cat inittab |grep -Ev ‘^(#|$)’ >inittab 這樣會(huì)得到一個(gè)空文件。解決辦法:
cat inittab |grep -Ev ‘^(#|$)’ >inittab.tmp ;cat ./inittab.tmp > inittab;rm -f ./inittab.tmp- sed
sed 的搜索默認(rèn)是在一行里找到第一個(gè)符合條件的信息就停止搜索行內(nèi)剩余的信息。過想繼續(xù)搜索行內(nèi)的其他符合條件的信息需要添加g形成
‘
遇到cat開始dog結(jié)束 在這些符合的行中在結(jié)尾添加<—————
如果沒有遇到dog那就一直執(zhí)行一直到最后
sed的刪除操作 cat iptables.list |sed ‘/^#/d’ 形式就是如此
要實(shí)現(xiàn)將#開始的 或者空行都刪掉
- wc對(duì)行數(shù)的統(tǒng)計(jì)
cat /etc/passwd |wc
37 63 1737
出現(xiàn)有37行 63個(gè)word 1737個(gè)字符(character)
cat /etc/passwd |wc -w
63
cat /etc/passwd |wc -l
37
cat /etc/passwd |wc -c
1737
cat /etc/passwd |grep -i studenttt |wc -l 用該命令的輸出數(shù)值來(lái)判斷是否存在,cat命令在不存在符合要求的時(shí)候,是不會(huì)輸出信息的,故而不能做判斷用。
- awk
awk’ /匹配字符串/’文件名 匹配字符串可以用正則表達(dá)式來(lái)表示
awk ‘/root/’ /etc/passwd 等價(jià)于 grep root /etc/passwd
awk ‘{處理動(dòng)作}’文件名
awk -F:’{print 113}’ /etc/passwd
awk ‘/匹配字符串/ {處理動(dòng)作}’文件名
awk -F:’/root/{print 1,1,3}’ /etc/passwd
awk ‘{print 1,1,3}’ ~/names 可以找出第一列和第三列的內(nèi)容
awk ‘{print 1,1,3}’ ~/names 該表達(dá)式中逗號(hào)表示一個(gè)空格的分隔符
如果該表達(dá)式中逗號(hào)用空格代替,效果等價(jià)于awk ‘{printf 11<script id="MathJax-Element-5" type="math/tex">1</script>3}’
最近在讀一個(gè)腳本,先把里面這些晦澀的腳本用法摘出來(lái),磨刀不誤砍柴工。
總結(jié)
以上是生活随笔為你收集整理的shell脚本常用语句用法笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FineReport单行与数据库交互的方
- 下一篇: 如何在Windows Server 20