• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            怎樣向awk中傳入shell變量值

            Posted on 2010-04-12 19:10 Prayer 閱讀(1219) 評論(0)  編輯 收藏 引用 所屬分類: Shell

            假設當前目錄下有a.log b.log二個文件,利用awk打印出其文件名,腳本如下:

            #! /bin/bash
            for file in *.log
            do
                    awk 'BEGIN{var=" ' "$file" ' "}END{print var;}' "$file"
            done

            在這里最讓人混淆的是單引號和雙引號


            我們可以利用bash -x test.sh來執行腳本,其會將腳本中的shell變量展開,便于調試

            ’單引號中除(’)都為原本字符,沒有特殊意義

            "雙引號中除( $`") 都為原本字符,沒有特殊意義

            因此,上述可以展開為:

            第一次:

            awk 'BEGIN{var="a.log"}END{print var;}‘ a.log

            第二次:

            awk 'BEGIN{var="b.log"}END{print var;}‘ b.log

            如果將其寫成 awk 'BEGIN{var=' "$file" '}END{print var;}' "$file",則展開為:

            第一次:

            awk 'BEGIN{var=a.log}END{print var;}‘ a.log

            第二次:

            awk 'BEGIN{var=b.log}END{print var;}‘ b.log

            會報錯,因為awk中字符串要用雙引號括起來


            將其分解成以下這樣,便于理解:

            'BEGIN{var=" '    "$file"     ' "}END{print var;}'  這三部分為字符串連接關系

            久久婷婷色综合一区二区| 精品久久久久久国产| 精品久久久久久国产| 99国产欧美精品久久久蜜芽| 久久国产精品久久精品国产| 久久综合九色综合97_久久久| 久久久综合香蕉尹人综合网| 亚洲国产精品狼友中文久久久| 性欧美大战久久久久久久久 | 91久久成人免费| 久久久久久国产a免费观看不卡| 亚洲综合伊人久久大杳蕉| 国产精品gz久久久| 久久久久人妻一区二区三区| 1000部精品久久久久久久久| 欧美久久一区二区三区| 久久亚洲国产成人精品性色| 日本国产精品久久| 久久不见久久见免费影院www日本| 久久精品国产99久久无毒不卡| 久久只有这精品99| 午夜精品久久久久成人| 久久久老熟女一区二区三区| 亚洲人成伊人成综合网久久久| 亚洲国产香蕉人人爽成AV片久久 | 亚洲午夜久久久影院| 国产69精品久久久久99| 国产精品久久成人影院| 久久久久久久久久久久中文字幕 | 亚洲中文字幕无码一久久区| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 国产综合久久久久| 久久久久人妻一区二区三区vr| 久久午夜福利电影| 久久久久国产一级毛片高清板| 久久狠狠一本精品综合网| 国产成人精品久久亚洲高清不卡 | 国产 亚洲 欧美 另类 久久| 免费精品99久久国产综合精品| 国产 亚洲 欧美 另类 久久| 国产叼嘿久久精品久久|