批次行號編號會為貼上的文字段落中每一行邏輯行 —— 包括空白行與僅含空白的行 —— 加上一個介於 0 到 999999 之間的循序整數作為前綴,然後在單次執行中將結果匯出為最多一百萬字元的 UTF-8 純文字檔。這項轉換完全在當前瀏覽器分頁中執行,因此原始文字永遠不會傳送到伺服器;任何編號過的批次都不需要帳號、API 金鑰,或在頁面載入後仍持續連線的網際網路。由於每一行輸入都會保留原本的位置,三位講者的逐字稿與九千行的記錄檔都適用同一條規則:計算行數,加上所選數字與分隔符,然後重複。掌握這個單一規則,正是讓審閱者能將程式碼片段、課程筆記、客服逐字稿或法律證物,轉換成其他人 —— 與其他工具 —— 都能安心引用的依據。
對於多數尋找批次為文字加上行號方法的讀者而言,瓶頸通常不是規則本身,而是工作規模。一份記錄回放、一份冗長的聊天機器人逐字稿、一份堆疊追蹤的貼上,或單一原始檔,動輒就達到數十萬字元;許多較小的工具在輸入變長時會變慢、截斷,甚至悄悄略過空白行。一個在四十行與四十萬行之間都能維持相同行為的批次工作流程,正是藉由設計從根本上消除了這項風險。

批次行號編號在單次執行中實際做了什麼
批次編號並非必須手動撰寫指令碼的迴圈。為文字加上行號工具將貼上的文字視為一串邏輯行,單次從上到下逐一處理,每讀到一行就在預覽中輸出一行編號後的文字。僅含空白的行仍屬於行,定位字元與雙空格都會保留,原始行文字絕不會被修剪、重新排版或就地重寫。預覽呈現的內容與下載得到的檔案完全一致,因此螢幕上看到的等於實際收到的。
加在每一行前面的前綴只是純粹的十進位數字。沒有依地區設定的千位分隔符、沒有羅馬數字模式、沒有字母序列,也沒有任何隱形的樣式設定。數字可以從允許範圍內任一非負整數開始,然後每一行邏輯行遞增 1。當最終產生的數字超過六位數時,數字會持續印出;六位數的上限僅用於驗證使用者輸入的起始值,在執行階段絕不會悄悄繞回或截斷序列。
貼上之前,先了解輸入選項與硬性上限
在送出大量貼上內容之前,先了解每個選項的界線會有所幫助,因為某些無效的組合會產生明確的錯誤,而非部分結果。下表摘要列出工具預先驗證的所有數值。
| 控制項 | 允許的值 | 邊界行為 |
|---|---|---|
| 輸入長度 | 1 到 1,000,000 字元 | 輸入為空時顯示錯誤;不會產生任何輸出 |
| 起始編號 | 最多 6 位數的非負整數(0 到 999999) | 接著每一行邏輯行遞增 1,若執行時間較長可能印出更多位數 |
| 分隔符 | 字面字串,0 到 20 個 Unicode 字元,不接受正規表示式解讀 | 超過 20 字元時顯示錯誤,且不會產生任何輸出 |
| 補零 | 開啟或關閉 | 寬度依最終產生數字的位數而定,不採用固定的使用者設定值 |
| 輸出格式 | 純 UTF-8 文字,不含位元組順序標記 | 輸出行一律以單一 LF 連接,與原始輸入的行尾字元無關 |
這些限制會衍生幾項實際的結果。分隔符可以是單一句點、句點加空格、冒號、直立線、貼上的定位字元,或空字串,並會完全依照輸入內容插入於數字與原始文字之間。20 字元的上限幾乎足以應付任何實際的分隔符,卻能避免工具不小心接受長度如段落的字串。1,000,000 字元的輸入上限讓瀏覽器分頁內的工作保持流暢 —— 即使是非常大量的貼上,仍能以單次處理完成,而無需排入多個分塊。
為批次段落的每一行編號
從大量貼上到可下載的編號檔案,所走的路徑與處理十行時完全相同,只是輸入較長而已。
- 將批次文字貼上或輸入到輸入區。單次最多可接受一百萬字元的貼上,因此除非你想同時保留多個編號輸出,否則無需手動分塊。
- 選擇起始編號、分隔符,以及是否使用前置零補齊數字。只有起始編號必須輸入;分隔符可以留空,補零亦可保持關閉。
- 產生結果。預覽會立即呈現,並使用預先格式化包裝,使過長的行僅在視覺上捲動,而不會新增額外的換行字元洩漏到下載檔案中。
- 若預覽結果不如預期,可編輯任何選項。此操作會清除舊的結果並撤銷其物件 URL,因此先前下載的檔案不會被誤認為當前輸出。
- 下載 UTF-8 TXT 檔。該檔案使用 LF 行結尾、不含位元組順序標記,且內容與預覽中看到的行完全一致。
對於想先以較小樣本驗證格式的讀者,將同樣五個步驟套用於三十行的貼上,會產生能在 Notepad、Sublime Text、VS Code、vim 或其他任何純文字檢視器中順利開啟的輸出。一旦選項設定得心應手,同樣的貼上即行的流程即可在不改變任何步驟的情況下,擴展至規模大得多的內容。
空白行、補零與分隔符在大量輸入下的行為
當輸入變長時,有三種行為常讓初次使用的使用者感到意外,因此各自值得明確處理。
空白行會計入編號。每一行邏輯行 —— 包括空行與僅含空白的行 —— 都會被賦予下一個整數。若輸入內容為「alpha」、一個空白行、以及「beta」三行,輸出會包含三個編號行:1 對應 alpha、2 對應空白行、3 對應 beta。輸入最末端若有一個換行字元,亦會再多產生一個編號過的空白行,以保留直接從編輯器複製出來的檔案原本的行結構。
補零寬度依最終數字而定,不採用固定的使用者設定值。當補零功能開啟時,前綴的寬度依此次執行中最終產生數字的位元數而定,因此同一選項在短輸入與長輸入下會表現不同。從 8 開始、為三行編號,會產生 08、09、10 —— 兩位數的前綴,因為最終值達到兩位數。從 1 開始、為九行編號,則會產生普通的一位數字,因為最終值從未超過一位數。關閉補零後,每個數字會以自然寬度呈現,且絕不會改動原始行文字。
分隔符以字面方式處理。你所輸入或貼上的內容會原封不動地置於數字與該行之間;不會被當作正規表示式解讀、不會跳脫、也不會被修剪。常見的選擇包括用於論文式編號的句點加空格、用於法律條款的冒號、在編號輸出要貼入試算表或固定寬度欄位時使用的定位字元,以及在僅希望數字與行文字並列時使用的空字串。
下載之後:檔案格式、行結尾與重新執行
在批次作業中,輸出的一致性很重要,因為檔案的接收者通常無從得知它是如何產生的。下載的檔案為不含位元組順序標記的純 UTF-8 文字,因此在 Windows Notepad、Linux 主控台以及偏好 LF 的 Mac 編輯器中都能以相同方式載入。輸出永遠使用單一換行字元(LF)連接每一行,這代表 Windows 的 CRLF 輸入、傳統 Mac 的 CR 輸入,以及 Unix 的 LF 輸入,最終都會在結果中統一為單一整潔的格式。
對精修後的輸入重新執行工具,設計上同樣乾淨。產生結果時不會更動輸入區,因此你可以貼上修正過的版本、變更分隔符,並直接產出新檔案,而無需重建原始貼文。在結果就緒後編輯任何選項,都會清除舊的預覽並撤銷先前的下載 URL,這正是避免將過時檔案當成當前輸出散播的保護機制。預覽使用預先格式化包裝,使過長的行僅在螢幕上視覺換行,卻在下載檔案中保持單一不中斷的行 —— 因此視覺上的行數永遠不會與儲存的檔案內容相互牴觸。供參考之用,下載路徑會將該字串組合成一個 UTF-8 文字 Blob —— 這是瀏覽器用於本機檔案下載的標準機制,於 MDN 中有詳細說明 —— 因此檔案是在裝置本機產生,而非從伺服器擷取而來。
值得了解的批次編號使用情境
編號行是一種穩定的參照依據,而許多工作都仰賴這些參照在第一次產出時就正確無誤。程式碼審查在評論遠端 Pull Request 或封存的程式碼片段時,經常以行號引用特定行;逐字稿為每句發言加上序號後,便可供搜尋;詩詞、劇本與舞台指示的草稿會為每一行獲得一個明確無歧義的位址;支援記錄回放與當機傾印在每一列都加上編號、工程師與客戶所見完全一致時,討論起來會順暢許多;法律審閱的工作複本、課堂講義與會議記錄,也都能受惠於同一個簡單的轉換:每一行都獲得一個穩定的識別碼,其餘的工作流程便能放心引用。
此處介紹的批次行號編號工作流程,正適合用於一次性為每一行加上循序整數,並完整掌控起始值、分隔符與補零寬度的任務。相鄰的工具在各自的適用範圍內依然有其價值 —— 當唯一目的是計算行數時,專用行數計數器會是更好的選擇;若前綴需要是任意文字而非編號序列,那麼通用的加前綴與加後綴工具則更為直接。
若你正在權衡各種選項,在瀏覽器中為大量文字的每一行加上前綴對此有詳細說明。