Linux 系統透過大量的命令使文字操作和處理變得非常容易。像 tr 和 fmt 這樣的命令列工具可以幫助您從終端更改、格式化和修改文字檔案。
#在本文中,我們將討論如何在不同的情況下使用 tr 和 fmt 命令來格式化文字。那麼,什麼是 tr 和 fmt?您又如何使用它們呢?
什麼是 tr 指令?
tr 指令是單字 translate 的縮寫,它可以幫助使用者刪除或取代文字檔案中的特定字元。它通常與其他命令一起使用,透過取得標準輸入、對其執行操作並將結果寫入標準輸出來運作。
tr指令語法
#tr指令的基本語法是:
tr [option]... SET1 [SET2]
字元集合的範圍:
如何使用 tr 指令
可以使用 tr 指令更改文字檔案的大小寫、刪除數字、用製表符取代空格,甚至將每個單字放到新行中。 tr 指令的可能性是如此之大,如果您知道如何使用它,您可以實現如此多的目標。
對於本例,建立一個文字檔:linuxmi.txt。文件的內容是:
Linuxmi.com. Technology, Simplified! 56789
使用 tr 指令取代字元
為此,指定要替換的字元以及要用什麼替換它們。例如,如果你想用 ABCD 替換每個單字的第一個字符,執行這個命令:
cat指令用於顯示檔案的內容。
cat linuxmi.txt | tr MTS5 ABCD
cat指令用於顯示檔案的內容。
結果:
Linuxmi.com. Bechnology, Cimplified! D6789
將文字從小寫改為大寫
#要做到這一點,執行以下命令:
cat linuxmi.txt | tr a-z A-Z
cat linuxmi.txt | tr [:lower:] [:upper:]
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ cat linuxmi.txt | tr a-z A-Z
結果為
Linuxmi.com. Technology, Simplified! 56789
將文字從大寫改為小寫
#為此,請執行以下任何命令:
cat linuxmi.txt | tr A-Z a-z
cat linuxmi.txt | tr [:upper:] [:lower:]
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ cat linuxmi.txt | tr a-z A-Z
結果為
Linuxmi.com. Technology, Simplified! 56789
用製表符取代空格
要用製表符取代所有空格,請執行下列命令:
linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr [:space:] '\t'
或者,如果要用換行符號替換空格以在單獨的行中列印每個單詞,請將“\t”替換為“\n”。
使用 tr 指令刪除字元
要刪除字符,可以在 tr 指令旁邊使用 -d 選項。例如,如果你想刪除 linuxmi.txt 檔案中每個單字的字母“e”,執行以下命令:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ cat linuxmi.txt | tr -d 'e'
結果為
Linuxmi.com. Tchnology, Simplifid! 56789
删除所有标点符号
如果你想删除文件中的所有标点符号而不指定是什么符号,使用 -d 选项和解释的序列 [:punct:]:
linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -d [:punct:] 结果为
Linuxmicom Technology Simplified 56789
使用tr删除所有数字
删除文本文件中的所有数字,使用这个命令:
linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -d [:digit:] 结果为
Linuxmi.com. Technology, Simplified!
使用 tr 补码选项
tr 命令附带 -c 选项,基本上执行与原始操作相反的操作。让我们以前面的命令为例。如果您将补码选项添加到此命令,它将删除所有非数字字符。看看:
linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -cd [:digit:] 结果为
56789
fmt 命令是一个简单的文本格式化工具,您可以使用它在 Linux 上打印和处理文本。您还可以使用该命令格式化电子邮件回复。
要获得关于 fmt 命令的命令行帮助,运行以下命令查看其手册页面:
man fmt
fmt命令格式
fmt命令的基本语法是:
fmt [-WIDTH] [OPTION] [FILE]
如何使用 fmt 命令
对于本例,创建一个名为file.txt的文件,并添加以下文本:
Linux fan www.linuxmi.com shares open source news, tutorials on Linux, programming, big data, operations, and databases. I was a big brother back then, the webmaster of Linux fanatics, and a Linux enthusiast using the desktop version. I write in my spare time and hope to share some useful tips with Linux beginners and enthusiasts. 使用默认 fmt 命令
默认的 fmt 命令优化了文本,并以更可读的格式打印出来。fmt 命令的默认宽度是 75 列。执行这个命令来尝试默认的 fmt 操作:
linuxmi@linuxmi:~/www.linuxmi.com$ fmt linuxmi.txt
结果为
更改文本的宽度
要更改文件的宽度,可以使用-w选项。语法如下所示:
fmt -w N filename
修改文件宽度为20列,使用命令:
linuxmi@linuxmi:~/www.linuxmi.com$ fmt -w 50 linuxmi.txt
结果如下图
拆分长行文本
要分割长行,请使用 -s 选项试一下:
linuxmi@linuxmi:~/www.linuxmi.com$ fmt -s linuxmi.txt
结果如下图为
缩进每个段落的第一行
要通过缩进突出显示每个段落的第一行,请使用-t选项。这是语法:
fmt -t filename.
让我们试一试:
linuxmi@linuxmi:~/www.linuxmi.com$ fmt -t linuxmi.txt
结果为
tr和fmt:有用的文本操作命令
tr 和 fmt 使用它们提供的不同操作使文本格式化和处理变得简单和自动化。Linux 和其他基于 Unix 的操作系统为您的每一个文本格式化需求提供了大量的文本操作命令。你只需要知道它们是什么以及如何使用它们。
以上是詳解 Linux 上兩個超有用重要的文字操作指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!