實機練習題

  1. 共同要求:
    1. 在家目錄下建立 zzz 目錄。
    2. 切換工作目錄到 zzz,所有練習腳本皆存在此目錄。
    3. 腳本必須可執行。
    4. 檔案導向都是執行.sh腳本命令時導向,不是寫在腳本內導向。檔案導向到 /tmp/$mysid.$evalname 目錄,其中變數 $mysid 為自己的學號,$evalname 為評分程式名稱不加附檔名,目錄若不存在,必須自行建立。
  2. 練習題
    1. 下載檔案 re1.txt。 寫 .sh 腳本,以 grep 對 re1.txt 執行以下搜尋,不需要列印行號,不要做任何的更動,所有結果導向到 .txt 檔案:
      1. myre1.1.sh 導向到 myre1.1.txt
        1. you 其中 y 大小寫都可以。
        2. tast 或 test。
        3. oo 前不是 g,也不是 t。
      2. myre1.2.sh 導向到 myre1.2.txt
        1. 剛好三個阿拉伯數字。
        2. 兩個以上阿拉伯數字。
      3. myre1.3.sh 導向到 myre1.3.txt
        1. 行首是大寫英文字母。
        2. 行尾不是 '.' 句點。
    2. 下載檔案 dos.sh, dos.sh 是用 windows notepad 編輯檔案,下載下來卻無法執行,請轉換成可在 Linux 下執行的腳本。
    3. 下載檔案 re2.txt, 寫 .sh 腳本,以 grep 對 re2.txt 使用 一般正規表示法執行以下搜尋,不需要列印行號,不要做任何的更動,所有結果依序累加到 .txt 檔案:
      1. myre2.1.sh 導向到 myre2.1.txt。
        1. 開頭 b 結尾 是 t,中間 1 個以上 a 的字串。
        2. 開頭 b 結尾 是 t,中間 0 個 或 1 個 a 的字串。
        3. dog, feet, good 三個字串。
      2. myre2.2.sh 導向到 myre2.2.txt。
        1. boot 或 babt。
        2. 開頭 b 結尾 是 t,中間 pqr 重複 1 次以上。
    4. 寫 .sh 腳本,以 grep 對 re2.txt 使用 延伸正規表示法執行以下搜尋,不需要列印行號,不要做任何的更動,所有結果依序累加到 .txt 檔案:
      1. myre2e.1.sh 導向到 myre2e.1.txt。
        1. 開頭 b 結尾 是 t,中間 1 個以上 a 的字串。
        2. 開頭 b 結尾 是 t,中間 0 個 或 1 個 a 的字串。
        3. dog, feet, good 三個字串。
      2. myre2e.2.sh 導向到 myre2e.2.txt。
        1. boot 或 babt。
        2. 開頭 b 結尾 是 t,中間 pqr 重複 1 次以上。
    5. 下載檔案 sid.txt, 寫一腳本 resid.sh 使用 grep 對 sid.txt 執行學號姓名檔的搜尋,不需要列印行號,輸出存到檔案 residresult1.txt,不要做任何的更動。 sid 學號姓名檔格式要求如下:
      1. 格式:「電腦位置 IPV4最後一組數字 學號 姓名」
      2. 每個欄位用一個空白隔開。
      3. resid1.sh 查詢行首電腦位置 A-B, A:1-6 B:1-12,導向到 resid1.txt。
      4. resid2.sh 查詢 IPV4 最後一組數字:50-199 且前後都空白,導向到 resid2.txt。
      5. resid3.sh 查詢學號:「1xxxxxxx」,x 是 0-9 數字,且前後都空白,導向到 resid3.txt。
      6. resid4.sh 查詢姓名:「OOO」,O 是中文字,要求行尾 2-5 個中文字,導向 resid4.txt。
      7. 提示:grep 找中文字用-P (--perl-regexp) 選項,中文字正規表示 \p{Han}-P 已支援延伸正規表示法的群組 () 及 或 "|"。
  DYWANG_HOME