如何在Linux系統中將製表符轉換為空格?


在處理檔案時,有時會遇到這種情況:檔案包含許多製表符,而需求是檔案中沒有製表符,只有空格。如果檔案很簡單,那麼操作很容易,但如果處理的是一個很長的檔案,那麼這將是一項非常艱鉅的任務。

為了將製表符轉換為空格,我們使用Linux系統中的expand命令。如果沒有指定檔案,則expand命令將讀取標準輸入。

語法

expand命令的通用語法如下:

expand [OPTION]... [FILE]...

expand命令中可用選項的簡要說明。

序號選項及說明
1-i,  --initial
在非空格字元之後不轉換製表符
2-t,  --tabs=N
將製表符設定為每N個字元一個,而不是8個字元一個
3-t,  --tabs=LIST
使用逗號分隔的製表符位置列表
4--help
顯示幫助資訊,然後退出。
5--version
顯示版本資訊,然後退出。

為了將每個製表符轉換為Linux系統中指定的空格數,我們使用-t或--tabs選項與expand命令一起使用。

首先,我們需要使用cat命令建立一個包含製表符的檔案。

$ cat >text.txt
Hey,   welcome   to    tutorialspoint...
^C

然後,為了將這些製表符轉換為空格,我們使用expand命令,如下所示。

$ expand –-tabs=1 text.txt
Hey, welcome to tutorialspoint...

我們已經看到了上面將檔案中製表符轉換為空格的例子。為了將標準輸入中的製表符轉換為空格,我們使用expand命令,如下所示。

$ expand –-tabs=1
Hey,    welcome    to    tutorialspoint...
Hey, welcome to tutorialspoint...

為了在非空格字元後停止轉換,我們使用-i或--initial選項與expand命令一起使用,如下所示。

$ expand -i text.txt

或者

$ expand --initial text.txt

要檢視有關expand命令的更多資訊,我們使用--help選項與expand命令一起使用,如下所示。

$ expand --help

要檢視expand命令的版本資訊,我們使用--version選項與expand命令一起使用,如下所示。

$ expand --version

執行上述命令後,將提示expand命令的工作版本。

更新於:2021年6月30日

3K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.