next up previous contents
Next: awk 工具 Up: sed 工具 Previous: sed 與正規表示法   Contents   DYWANG_HOME

實機練習題

  1. 共同要求:
    1. 在家目錄下建立 zzz 目錄。
    2. 切換工作目錄到 zzz,所有練習腳本皆存在此目錄。
    3. 腳本必須可執行。
  2. 練習題
    1. 下載檔案 man.conf
    2. 寫腳本以 sed 處理 man.conf 執行以下動作,在命令列執行腳本時,將螢幕結果依序累加導向到「輸出檔案」,不要做任何的更動。
      1. 腳本 sed1.1.sh,輸出檔案 sed1.1.txt
        1. 刪除 50 至 120 行。
        2. 第 63 行後增加三行。
          123ASD
          KJH983
          apem34kq98
          
        3. 第 30 至 145 行取代成:
          abcdefgh
          9876543
          3333333
          
      2. 腳本 sed1.2.sh,輸出檔案 sed1.2.txt
        1. 只列出第 103 至 120 行。
        2. 刪除註解行及空白行。
        3. 第 17 行至最後一行刪除,且將 man 取代成 SSEEDD。
    3. 使用 sed 處理 man.conf 檔,將以下 sed 要執行的動作寫在 src 檔,再寫腳本執行 sed 時以 -f 選項指定 src 檔,命令列執行腳本時,將螢幕結果依序累加導向到「輸出檔案」,不要做任何的更動。
      1. 腳本 sed2.1.sh,src 檔 sed2.1.src,輸出檔案 sed2.1.txt
        1. 刪除 5 至 6 行。
        2. 第 33 行後增加二行。
          BBKJH983
          Capem34kq98
          
        3. 第 40 至 45 行取代成:
          abcdefgh
          9876543
          3333333
          
      2. 腳本 sed2.2.sh,src 檔 sed2.2.src,輸出檔案 sed2.2.txt
        1. 列出第 3 至 142 行。
        2. 刪除註解行及空白行。
        3. 第 102 行至最後一行刪除
        4. 將 man 取代成 SSEEDD。
    4. 下載檔案 re3.txt,寫一腳本 sed3.sh 用 sed 轉換 re3.txt 中的算術式。
      1. re3.txt 的算術式格式:(a,b,X),其中 a b 是正負數字,X 是 +-*/ 加減乘除運算子。
      2. (a,b,X) 取代成 aXb=
      3. 轉換後若算術式中減負數 (--),就再取代成 +
      4. 轉換後若算術式中加負數 (+-),就再取代成 -
      5. 結果存成 sed3.txt,不要做任何的更動。
    5. 下載檔案 gradelist.txt,寫一腳本 sed4.sh,要求如下:
      1. 使用 sed, tr 命令,配合正規表示法、管線處理。
      2. 將 gradelist.txt 轉換成字典陣列需要的格式,名字及成績都用雙引號括起來,行尾的空白改成換行符號。
      3. 輸出轉換後的結果導向到 sed4.txt,輸出範例如下:
        ["dywang"]="60" ["linda"]="80" ["peter"]="92" ["rita"]="87"
        


De-Yu Wang 2020-05-22