題目描述

輸入文字檔案內容,每行都是一個城市的名稱和其所在的洲,每個欄位使用「,」字元分隔。請將換行字元取代成「;」字元後重新輸出。



原題網址

輸入格式

輸入一個文字檔案。

輸出格式

將輸入的檔案內容中的換行字元取代成「;」字元後重新輸出。

範例輸入

Albany, N.Y.
Albuquerque, N.M.
Anchorage, Alaska
Asheville, N.C.
Atlanta, Ga.
Atlantic City, N.J.
Austin, Texas
Baltimore, Md.
Baton Rouge, La.
Billings, Mont.
Birmingham, Ala.
Bismarck, N.D.
Boise, Idaho
Boston, Mass.
Bridgeport, Conn.

範例輸出

Albany, N.Y.;Albuquerque, N.M.;Anchorage, Alaska;Asheville, N.C.;Atlanta, Ga.;Atlantic City, N.J.;Austin, Texas;Baltimore, Md.;Baton Rouge, La.;Billings, Mont.;Birmingham, Ala.;Bismarck, N.D.;Boise, Idaho;Boston, Mass.;Bridgeport, Conn.

解題概念

「paste」指令可以將許多個檔案合併成一個檔案,預設的話,同一個檔案內容會在同一個欄(Column),欄位間使用TAB字元做分隔。「-s」選項會將同一個檔案的各行放在同一個列(Row),原本的換行字元會變成TAB字元。「-d」選項可以指定分隔欄或列要使用的字元。在本題中需要把一個檔案內的換行字元取代成「;」字元後重新輸出,因此選項可以寫成「-s -d ';'」。

參考答案

#/bin/bash

paste -s -d ';'