1. 程式人生 > >shell中空格的使用;空格替換;通配符

shell中空格的使用;空格替換;通配符

express 參數 不可 lin .com 一行 比較 再次 sed

測試:

test $? -eq 0 && echo "yes" || echo "no"

通配符:

通配符
(1)*:0個或多個連續的字符

(2)?:任何單個字符

(3)[abc]:出現在abc中的任何單個字符

(4)[^abc]:任何在abc中未出現的單個字符

(5){a,b,c}:可以擴展成多個參數,首先擴展為a、再次為b,最後為c

空格替換

將多個空格替換為一個空格
sed s/[ ][ ]*/ /g filename
sed -e s/[[:space:]][[:space:]]*/ /g filename
將1到10個空格替換為一個空格
sed 
s/[ ]\{1,10\}/ /g filename 去掉多余空格 echo "hello world" | tr -s [[:space:]] http://www.runoob.com/linux/linux-comm-tr.html http://wiki.jikexueyuan.com/project/unix/regular-expressions.html

空格常見使用:

  • 定義變量時, =號的兩邊不可以留空格
  • 條件測試語句 [ 符號的兩邊都要留空格
  • 條件測試的內容,如果是字符串比較的話, 比較符號兩邊要留空格
  • 如果if 和 then寫在同一行, 那麽,註意, then的前面要跟上 ; 號.如果 then 換行寫, 那麽也沒問題
  • if 後面一定要跟上 then. 同理elif 後面一定要跟上 then.
  • 命令和其後的參數或對象之間一定要有空格
  • 取變量值的符號‘$‘和後邊的變量或括號不能有空格

反斜杠 backslash-escaped( \ )

反斜杠一般用作轉義字符,或稱逃脫字符,linux如果echo要讓轉義字符發生作用,就要使用-e選項,且轉義字符要使用雙引號 echo -e "\n"
反斜杠的另一種作用,就是當反斜杠用於一行的最後一個字符時,shell把行尾的反斜杠作為續行,這種結構在分幾行輸入長命令時經常使用。

http://blog.sina.com.cn/s/blog_4b9eab320102vzuv.html

shell中空格的使用;空格替換;通配符