banner
akihaye

akihaye

Universe!
follow
github
steam
discord user
email

使用ChatGPT+Mac終端機整理文件的一次嘗試

跟往常一樣,在日常跟診中,獲取完患者的證素後,在心裡默想自己方子,再比對老師開的方,藥味與劑量不相差三味為佳。不過,今日的主題不是跟著老師門診抄方辨證,老師的門診有記錄電子病案的習慣,小電腦上已經陸陸續續地記錄下七八年的病例,每一份都以 txt 格式保存在 Windows 7 系統下,這是一個很好的學習老師臨床思想的材料,十分適合做數據分析。

作為一個長期使用 Obsidian 進行筆記和資料管理的人,我決定將這些病案導入 Obsidian 作為我的病例學習資料庫,Obsidian 強大的插件庫和本地離線存儲都滿足我的需求,以及全局檢索極大方便了獲取方劑信息。

Obsidian Tcm Folder panel


見招拆招#

然而,當我將文件拷貝到我自己的 Mac 中後,問題接踵而至。

首先,Windows 與 Mac 系統的文本格式不同,許多 txt 文件在拷貝到 Mac 後出現亂碼,甚至無法打開。經過檢查,原因是老師小電腦 Windows7 採用的是 GB18030 編碼格式,而 Mac 使用的是 UTF-8 格式,具體可詳見知乎上的一則解釋:為什麼 Windows 中文默認使用 GB18030 而不是 UTF-8?

其次,Obsidian 使用 Markdown 格式進行存儲,這意味著我需要將幾千例病案轉換成 md 格式。

但這些都是小問題,使用 Terminal(終端機)兩行代碼即可解決。
Mac terminal

iconv 命令#

iconv 是一個用於轉換文件編碼的工具,這條命令行可以理解為 “使用 iconv 命令,for GB18030 文件 to UTF-8 文件,output 輸出轉換後的文件”。但面對上千個病例文件,我們需要進行批量轉換的命令:

mv 命令#

解決了編碼格式的問題,再看如何轉換 Obsidian 支持的 markdown 格式文件:

mv 是 “移動 / 重命名” 命令,以改變文件的擴展名,可以理解為 “Move .txt 文件為.md 文件 “。批量轉換命令行為:


借東風#

本以為轉換完,資料庫的整理就可以告一段落了,但經過初步檢查門診病案文件,發現令人頭疼的問題!

  • 病案中存在重複的文件
  • 重複的文件中存在 “文件名相同”,但 “內容不同” 的情況

面對數千個病例文件,手動逐一檢查、刪除冗餘文件?顯然不現實,不僅是對一個正直風華正茂的你和我時間上的極大浪費,而且重複千百次的機械操作,令人心生退意,想想就讓人頭皮發麻。

在多次苦思之後,我決定借個時代的東風,運用起 ChatGPT 的編程能力,來幫助我完成這些瑣碎的工作。
image

與 ChatGPT 溝通#

ChatGPT 的寫代碼業務能力已經十分出色了,但大部分時候仍然會輸出不滿意的結果。那么重點應當著眼於與 ChatGPT 的溝通技巧上。

  1. 提出問題,旨在讓 GPT 輸出解釋教程。
  2. 需求要寫得詳細,和你寫論文一樣詳細,每一步都要清清楚楚。
  3. 反復溝通,就像導師讓你反復修改開題報告一般,給 GPT 提要求,GPT 會聯繫上下文,滿足你的要求。
  4. 若遇到不懂的知識點,另開一篇 “新交談”,以不影響當前對話。
  5. 若反復修改的結果不滿意,需開新的對話框,找出前段溝通出現的問題,整理提問文本,重新進行輸出,直到滿意為止。
  6. 備份原文件,進行小樣本試驗,若出現問題,反饋 GPT 進行修改,重複 3-5 步驟。

以下是我最終的提問文本(另開 “新交談” GPT 輸出結果,結果滿意,耶!)
How to aks  a good question to GPT

(這段命令行可直接開箱食用~ 但要注意一定要先 cd 文件夾!)


附:用 ChatGPT 優化轉換編碼與文件格式步驟#

明確需求:批量轉換文件夾中 GB18030 為 Unicode UTF-8 格式並換成.md 格式!
在 ChatGPT 對話提出需求:
ask GPT1

驗證命令行時發現的具體問題,反饋 GPT 進行修改:
ask GPT2


這就是芸芸眾生中,一個人類為解決某特定需求而嘗試接觸新事物的一次嘗試~
關於 ChatGPT 協助完成工作方面的嘛,就像中醫找齊證素並準確辨證,開出了一份個性化處方。只要找對方法,都能抵達目標!

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。