【讀者投稿】

如何善用線上檢索──輸出檔的修飾實作

黎歷偉
(本校植病所昆蟲組)

摘要:本文旨在介紹如何部份刪除及修飾線上檢索後的輸出檔


一、前言

  在進行線上檢索後,我們有時需進一步把檢索結果的輸出檔修飾。例如把多 餘的空行殺掉,把不需要的欄位(如翻頁符號♀或資料庫中內設不著的期刊代號 CODEN)刪除。雖然在輸出檔案時我們可要求指定欄位輸出,如只要題名、作者 及出處。然而我們總有事後孔明(例如傾錄結果時誤選欄位為ALL,回實驗室後才 發現)或後來改變主意,希望精簡資料的時候。但資料記錄數以百筆計,逐筆以 "人手處理"是一件教人抓狂的悶事!

  一些書目管理軟體(Bibliographic software)也可把本文檔讀入後控制欄位的輸出 。不過殺雞焉用牛刀?用一些文字編輯器(text editor)或文書處理軟體也可達到相同 效果──本文就是以使用PC的書中仙軟體為例,介紹如何把線上檢索(例如CD-ROM) 的輸出檔中不需要的資料由"電腦自動尋找與刪除",使方便閱讀及減小列印紙張時 的浪費。

二、工具需求

  該軟體需有定義與執行巨集功能(Macro,即是可記錄並重覆執行特定處理過 程)的能力,使可"選擇性刪除"特定的欄位資料。

三、軟體比較

(一) PE2

  這是台灣最流行的與倚天相容文字編輯器 (稱不上是文書處理軟體!),巨集 是在指令行或PE2.PRO檔中定義,但每列的字數有不能超過255字的限制。且是 用人手按鍵的方式執行,故不夠聰明,若要執行 100次,就需按鍵 100次,可是 若按鍵不放按到檔末則有誤刪最後一筆資料的危險,故 PE2不適合多筆資料的檔 案修飾。

    巨集例: 定義功能鍵F1=把摘要部份刪除
        def f1 = locate/AB:/ [mark line]
        locate/TI:/ [up] [up] [mark line] [delete mark]
        代表意義:尋找摘要欄,將該列標記,尋找下筆的題名欄,往上
        兩行(即到摘要的最後一行),將該列標記,(即已把整個摘要標
        記),把標記刪除。

(二) PE3

  國人自行修改的PE3,仍是一個文字編輯器,巨集定義沒有了 PE2的每列字 數不能超過255字的限制。不過仍沒有Macro Recorder,自己寫巨集是很累的事 情!功能不怎麼樣,個人認為比不上書中仙好用和聰明 ;最教人反感的是付錢 買的原版軟體竟然到一定時間就需去更換新版,否則不能繼續使用 ,有夠麻煩 兼小家子氣!也許有些軟體商的心態有待調整!

(三) 書中仙 (HE, Hyper Editor)

  與 PE2「完全相容」的文字編輯器 ,大部份按鍵都維持一樣。書中仙有一
個比 PE2 聰明的 Macro Recorder(與Microsoft Windows、Word和Excel的Macro Recorder 類似,有點物件導向的味道),可如錄影機般的把用者的「按鍵過程記錄再重覆 執行」,故威力驚人!按數個鍵即可輕鬆的刪除數百筆資料的欄位。筆者目前使 用的版本是較舊的2.20.42 ,是銳士公司"無限授權"台大使用的合法軟體(參閱台 大電子計算機中心通訊82年4月號 pp.32-33)。書中仙的近親軟體則有漢書和芙蓉 仙,使用上都差不多。雖然漢書不斷有新版(最新是4.0和Windows 版),不過在巨 集的處理上沒有甚麼分別。

(四)Word for Windows

  提供功能更強的巨集。(Macintosh 的 Word 則沒有巨集,可憐的MacUsers...)。 在menu bar的工具選項下有錄製巨集、執行巨集、編輯巨集,除可"錄影"般的錄 製巨集外,也可用編輯巨集項修改之,其語法像 QuickBASIC 有IF-THEN、FOR- NEXT迴路、字串函數等較複雜的條件控制。(據說新的Word首創使用Word BASIC, 使巨集的功能更有擴充性。) 由於其錄製與執行巨集和書中仙的Ctrl-R、Ctrl-P 原理相同,故在此不敘。Word較書中仙方便的是巨集可存檔,供以後重覆使用。

四、書中仙實務

(一)巨集主要按鍵:

記錄巨集(按第一次開始,按第二次結束,螢幕下的R字代表記錄中)....Ctrl-R
執行巨集(重放所記憶的按鍵過程).................................Ctrl-P
重複巨集("多次"執行巨集).......................................Ctrl-X

(二)一個典型的(巨集)過程:

  ┌─ Ctrl-R (begin Record macro,開始記錄)
  │     ...
  │     ... 用者要重複的按鍵過程
  │     ...
  └─ Ctrl-R (end Record macro,結束記錄)
       Ctrl-X (eXecute macro,重複巨集)
       Ctrl-P (Play macro,執行巨集)

  註:Ctrl-X與Ctrl-P的分別在於Ctrl-X是"多次"執行巨集,輸入欲重複次數後仍     要按Ctrl-P;Ctrl-P代表執行巨集一次。

(三)工作原理: 標記 -> 刪除

  修飾巨集的內容: 尋找特定字串(Search string)(通常是欄位的縮寫),將其標 記起來(Mark line),再尋找另一特定字串 (Search string),又將其標記起來 (Mark line),把標記段落刪除(Delete Mark)。重覆以上巨集。

配合其它編輯鍵使用:

  尋找字串   Alt-S (Search string)
  取代字串   Alt-R (Replace string) 選項*=連續尋找 -=由游標往上找
  繼續尋找/取代 Alt-N (Next string)

  註:Alt-S與Alt-N稍有不同,Next是繼續尋找字串,速度較Search快。在同一巨    集中,尋找/取代單項字串時可用。

 其它鍵:
  Alt-M=Move;Alt-C=Copy;Alt-L=Mark Line;Alt-D=Delete Mark;Alt-J=合併   下一行;各游標鍵;Enter鍵(開新行);Ctrl-Tab=左移一個tab;Alt-Tab=右移一   個tab。

 應用層面:
  除刪除欄位外,也可進一步修飾檔案、搬移欄位(如把出處搬至題名前),   或把兩行合併。

(四)例子:

1. 假設有一個輸出檔有以下欄位: AU:,TI:,SO:,CS:,LA:,PY:,DNAL:,AB:

2. 目的:現在只要作者、題名、出處和語言即可,其它的全部刪除。

3. 方法:

  1. 先把所有CS:列刪掉→Alt-S,輸入CS:,Options選E代表Exact,分大小寫。
    • Ctrl-R (開始記錄)
    • Alt-N (找下一個字串)
    • Alt-L (整列標記)
    • Alt-D (刪除標記列) (因只刪一行Alt-L和Alt-D可用Ctrl-←代替)
    • Ctrl-R (結束記錄)
    • Ctrl-X,輸入欲重覆次數,可輸入一個超過實際出現次數的數值,例如
      1000。(若要知道真正的字串出現次數可在Search時Option選*)
    • Ctrl-P (執行巨集)

  2. 再把PY:至AB:整段刪除
     →因首尾分別尋找兩個不同的字串,所以不能單純的用Next找,須在巨集中   分別尋找。
    • Ctrl-R (開始記錄)
    • Alt-S,輸入PY:,Options選E
    • Alt-L (整列標記)
    • Alt-S,輸入TI:,Options選E
    • 按2次↑ 因PY:後的TI:即是下一筆資料的題名,按2次↑使往上兩行,即
      到達摘要欄的末行。
    • Alt-L (整列標記)
    • Alt-D (刪除標記段) (把PY:至摘要欄的末行刪除)
    • Ctrl-R (結束記錄)
    • Ctrl-X,輸入欲重覆次數
    • Ctrl-P (執行巨集)
  註:輸入尋找字串時務必輸入完整的欄位字串,例如TI:,不要忘記有冒號,    否則電腦可能誤找到內文中字首為TI的字而出現誤刪情況。

五、答客問

(一) 問:書中仙的巨集可否存檔?

  答:好像不成!誠美中不足處!所以最好是每次處理一批檔案,可省重覆輸入    按鍵的時間。

(二) 問:不同版本的巨集指令有否不同?

  答:在3.0版本中,原來的定義改稱為巨集,但是其所謂的巨集檔實為定義檔,    性質較像片語,與本文所說的巨集略有不同。有關巨集的其它指令(例如    Alt-F7代表移到編輯區,等於PE2的[cursor data])可按F1在menu中選help    看有關巨集的部份。

  小技巧:在進入書中仙時HE *.*,可馬上顯示目錄,選擇檔案按Enter即可,不用      鍵入檔名。

六、結語

  本文只是以書中仙為例說明,聰明的讀者看到以上的例子當自能舉一反三, 在其它具有巨集功能的軟體完成相同的修飾工作。巨集這個小工具是要親身用過 才能夠瞭解個中技巧,子曰:「知不足,然後能自強也;知困,然後能自省也」。