<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-204  評論-90  文章-8  trackbacks-0
    1、統計每秒短信發送條數
    seq 0 59 | awk '{if($1 >= 0 && $1 <= 9) {print "0" $1 } else {print $1}}' | awk '{print "grep '\''2007-07-26 10:30:" $1 "'\'' smgsubmit.2007-07-26.log | wc -l"}' | sh

    2、統計每個白名單XML文件中的號碼數
    grep 'ECID>400031' * | awk '{print "grep '/ChildECInfo' ",  substr($1,0, 28), "| wc -l "}' | sh

    3、注意問題
    awk中如何輸出單引號 如何在awk中打印輸出單引號呢 shell如何處理單引號呢 ?
    也就是shell中對單引號的處理問題

    解決辦法
    awk '{   print "   ' \' ' "}'
    把轉義的單引號 ‘ ,用兩個單引號括起來,使其不執行

    原因是 :括在雙引號中的三種特殊字符不被忽略:$,\,` ,即雙引號會解釋字符串的特別意思,而單引號直接使用字符串輸出.

    那么shell如何處理特殊字符的呢
    1. 單引號 ( ' ' )
    如果我們想查找的是Susan Goldberg,不能直接使用grep Susan Goldberg phonebook命令,grep會把Goldberg和phonebook當作需要搜索的文件
    howard@0[script]$ grep 'Susan Gold' phonebook
    Susan Goldberg 403-212-4921
    當shell碰到第一個單引號時,它忽略掉其后直到右引號的所有特殊字符
    2. 雙引號 ( " " )
    雙引號作用與單引號類似,區別在于它沒有那么嚴格。單引號告訴shell忽略所有特殊字符,而雙引號只要求忽略大多數,具體說,括在雙引號中的三種特殊字符不被忽略:$,\,` ,即雙引號會解釋字符串的特別意思,而單引號直接使用字符串.如果使用雙引號將字符串賦給變量并反饋它,實際上與直接反饋變量并無差別。如果要查詢包含空格的字符串,經常會用到雙引號。
    howard@0[script]$ x=*
    howard@0[script]$ echo $x
    hello.sh menus.sh misc.sh phonebook tshift.sh
    howard@0[script]$ echo '$x'
    $x
    howard@0[script]$ echo "$x"
    *
    這個例子可以看出無引號、單引號和雙引號之間的區別。在最后一種情況中,雙引號告訴shell在引號內照樣進行變量名替換,所以shell把$x替換為*,因為雙引號中不做文件名替換,所以就把*作為要顯示的值傳遞給echo。
    對于第一種情況需要進一步說明,shell在給變量賦值時不進行文件名替換(這從第三種情況中也能看出來),各步驟發生的精確次序如下:
    shell掃描命令行,把x的值設為星號*;
    shell再次掃描命令行,碰到星號*,把它替換成當前目錄下的文件清單;
    shell啟動執行echo命令,把文件清單作為參數傳遞給echo.
    這個賦值的先后次序非常重要:shell先作變量替換,然后作文件名替換,最后把這行處理為參數
    3. 反引號(``)
    命令替換是指shell能夠將一個命令的標準輸出插在一個命令行中任何位置。shell中有兩種方法作命令替換:把shell命令用反引號或者$(...)結構括起來,其中,$(...)格式受到POSIX標準支持,也利于嵌套。
    howard@0[script]$ echo The date and time is `date`
    The date and time is 三 6月 15 06:10:35 CST 2005
    howard@0[script]$ echo Your current working directory is $(pwd)
    Your current working directory is /home/howard/script
    4. 反斜杠 backslash-escaped( \ )
    反斜杠一般用作轉義字符,或稱逃脫字符,linux如果echo要讓轉義字符發生作用,就要使用-e選項,且轉義字符要使用雙引號
    echo -e "\n"

    反斜杠的另一種作用,就是當反斜杠用于一行的最后一個字符時,shell把行尾的反斜杠作為續行,這種結構在分幾行輸入長命令時經常使用。


    posted on 2007-07-26 15:38 一凡 閱讀(754) 評論(0)  編輯  收藏 所屬分類: linux
    主站蜘蛛池模板: 免费大黄网站在线观| AV免费网址在线观看| 亚洲男人天堂2020| 免费看又黄又爽又猛的视频软件| 女性无套免费网站在线看| 亚洲国产成人精品无码区在线秒播 | 亚洲人成77777在线播放网站| 男女作爱免费网站| 国产又大又粗又硬又长免费| 国产亚洲精品美女2020久久| 免费一级做a爰片性色毛片| 日本精品久久久久久久久免费| 亚洲国产精品自在拍在线播放| 一本到卡二卡三卡免费高| 亚洲天堂中文字幕在线| 99久久成人国产精品免费| 亚洲AV无码一区二区三区系列 | 久久久久久亚洲精品成人| 久久久久久精品成人免费图片| 精品久久亚洲中文无码| 日本成人在线免费观看| 男人j进女人p免费视频| 久久亚洲国产精品一区二区| 最近2022中文字幕免费视频| 亚洲av成人综合网| 国产精品冒白浆免费视频| 亚洲免费在线观看| 67pao强力打造67194在线午夜亚洲 | 亚洲精品在线免费观看视频| 成人无码区免费视频观看| 黄色a三级免费看| 亚洲国产精品国自产拍电影| 男人的好看免费观看在线视频 | 亚洲色最新高清av网站| 亚洲人成电影网站国产精品| 久久久久久AV无码免费网站下载| 亚洲免费视频播放| 亚洲日韩在线中文字幕第一页 | 亚洲人av高清无码| 国产亚洲精品影视在线产品| 麻豆视频免费播放|