[LPIC-1]GNU and Unix Commands 38

Which of the following commands will reduce all consecutive spaces down to a single space?

A.

tr '\s' ' ' < a.txt > b.txt

B.

tr -c ' ' < a.txt > b.txt

C.

tr -d ' ' < a.txt > b.txt

D.

tr -r ' ' '\n' < a.txt > b.txt

E.

tr -s ' ' < a.txt > b.txt

題解

「tr」指令可以取代字元。

選項A,會將「\」和「s」字元取代成空格字元。

選項B,「tr」指令的「-c」參數無法這樣使用。「-c」參數得到做相反的結果,將不符合第一個參數輸入的字元取代成別的字元,例如:

tr -c ' ' 'a' < a.txt > b.txt

會將不是空格的字元都取代成「a」。

選項C,「tr」指令的「-d」參數會刪除符合第一個參數輸入的字元,也就是會將所有空格字元刪除。

選項D,「tr」指令沒有「-r」參數。

選項E,「tr」指令的「-s」參數會縮減重複連續出現的字元為一個。因此這個是正確答案。

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章