SA Homework 2: Shell Script

date
Jan 16, 2018
slug
sa-homework-2-shell-script
status
Published
tags
NCTU
SA
summary
type
Post
註:應作業要求所以使用 Bourne shell (sh)

hw2-1 awk

  • one-line command
  • list the first five largest files
1. 使用 ``
2. better method
 
需處理含空白的檔名所以用 substr($0,index($0,$9)) 參考自 https://serverfault.com/questions/375835/awk-and-file-names-with-space-in-it/375838

hw2-2 爬課表

  • 帳密輸入
    • dialog
  • 撈到課表
    • 連上portal(curl)
      • 建立session [curl產生驗證碼的php 然後存cookie]
        • curl -s(--silent) 不會把要輸出的html也沈默掉 所以我們可以把output丟入黑洞中 curl -s {url} > /dev/null
      • 利用此 cookie 抓下此時間 pic.php 所產生的驗證碼圖
        • 將圖上傳至TA提供的api取得驗證碼
          • 將 username, password, seccode POST 到 portal 完成登入
          • 可能的error
            • alert("登入 <ID> 失敗, 請確認密碼是否正確! 如果忘記您的密碼可使用<忘記密碼>功能")
            • alert("登入 <ID> 失敗, 無此帳號")
            • alert("登入 <ID> 失敗, 驗證碼錯誤");
          • 連上選課系統 [ D=cos ]
            • 其實連上去會是一個 html 的 form 然後 post 到 .php 然後就進入選課系統,所以我們可以用 id=value 的方式建立 form-data 然後 post 出去即可連上選課系統
        • 排版輸出
          • awk 抓取 html tag
            • ⚠️
              選課系統的課表有的換行是\\r p.s.找了快2hr才發現 ˊˋ

          reference

          awk

          curl

          dialog

          column


          © maxam 2023 - 2024