if判斷和grep命令-w及搜尋前後行

xiaofang2015發表於2018-05-11
 if [ -n "$row_numbe_detail" ]; 
if的-n判斷是判斷字串的長度是否為0的;
字串判斷
[ -n STRING ] 如果STRING的長度非零則返回為真,即非空是真
[ STRING1 ]  如果字串不為空則返回為真,與-n類似
[ STRING1 < STRING2 ] 如果 “STRING1”字典排序在“STRING2”前面則返回為真。
[ STRING1 > STRING2 ] 如果 “STRING1”字典排序在“STRING2”後面則返回為真。


grep命令  -w 

  -w或--word-regexp   只顯示全字元合的列。
 -x或--line-regexp   只顯示全列符合的列。
grep  -w  word   filename   是指定某個word搜尋;

(2)-A -B -C
  很多時候,我們並關心匹配行而是關心匹配行的上下文。這時候-A -B -C就有用了
-A n 後n行,A記憶為(After)
-B n 前n行,B記憶為(Before)
-C n 前n行,後n行,C記憶為(Center)  
查詢時,ABC的大小寫不一樣,查詢結果就不一樣;
查詢搜尋欄位的行及上一行和下一行:
[root@hps220 dongfang]# grep -b1  home  2222   
0-i  am  chinese
15:here is my  home
32-bbb

查詢搜尋欄位的行及上一行:
[root@hps220 dongfang]# grep -B1  home  2222
i  am  chinese
here is my  home

(8)查詢IP地址
這裡用到了-o和-P命令
我們通過man grep檢視
-o, --only-matching:
              Show only the part of a matching line that matches PATTERN.
-P, --perl-regexp:
              Interpret PATTERN as a Perl regular expression.
也就是說-o,只顯示匹配行中匹配正規表示式的那部分
-P,作為Perl正則匹配






 $#:表示返回所有指令碼引數的個數。 




  sudo ansible ips -s -m shell -a "chown -R $currenthostname:$currentgroup /data/aiips"
ansible的-s命令是什麼意思; -s, --sudo
 -R SU_USER, --se-user=SUDO_USER




groups命令在標準輸入輸出上輸出指定使用者所在組的組成員;

相關文章