嵌入式技术
Linux 通过大量的命令使得文本操作和处理非常容易。像 tr 和 fmt 这样的命令行工具可以帮助您从终端更改、格式化和修改文本文件。在本文中,我们将讨论如何在不同的用例中使用 tr 和 fmt 命令来格式化文本。那么本文我们来说说什么是 tr 和 fmt?以及你如何使用它们?什么是 tr 命令?tr 命令是单词 translate 的缩写,帮助用户删除或替换文本文件中的特定字符。它通常与其他命令一起使用,通过获取标准输入、对其执行操作并将结果写入标准输出来工作。tr命令语法tr命令的基本语法是:
tr [option]... SET1 [SET2]
字符集合的范围:NNN 八进制值的字符 NNN (1 to 3 为八进制值的字符)
\ 反斜杠
a Ctrl-G 铃声
Ctrl-H 退格符
f Ctrl-L 走行换页
Ctrl-J 新行
Ctrl-M 回车
Ctrl-I tab键
v Ctrl-X 水平制表符
CHAR1-CHAR2 :字符范围从 CHAR1 到 CHAR2 的指定,范围的指定以 ASCII 码的次序为基础,只能由小到大,不能由大到小。
[CHAR*] :这是 SET2 专用的设定,功能是重复指定的字符到与 SET1 相同长度为止
[CHAR*REPEAT] :这也是 SET2 专用的设定,功能是重复指定的字符到设定的 REPEAT 次数为止(REPEAT 的数字采 8 进位制计算,以 0 为开始)
[] :所有字母字符与数字
[] :所有字母字符
[] :所有水平空格
[] :所有控制字符
[] :所有数字
[] :所有可打印的字符(不包含空格符)
[] :所有小写字母
[] :所有可打印的字符(包含空格符)
[] :所有标点字符
[] :所有水平与垂直空格符
[] :所有大写字母
[] :所有 16 进位制的数字
Linuxmi.com. Technology, Simplified! 56789
使用 tr 命令替换字符为此,指定要替换的字符以及要用什么替换它们。例如,如果你想用 ABCD 替换每个单词的第一个字符,执行这个命令:cat命令用于显示文件的内容。cat linuxmi.txt | tr MTS5 ABCDcat命令用于显示文件的内容。结果:
Linuxmi.com. Bechnology, Cimplified! D6789
将文本从小写改为大写要做到这一点,执行以下命令:cat linuxmi.txt | tr a-z A-Z
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
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 [] ' '
或者,如果要用换行符替换空格以在单独的行中打印每个单词,请将“ ”替换为“ ”。使用 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 选项和解释的序列 []:
linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -d []
结果为
Linuxmicom Technology Simplified 56789
使用tr删除所有数字删除文本文件中的所有数字,使用这个命令:
linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -d []
结果为
Linuxmi.com. Technology, Simplified!
使用 tr 补码选项tr 命令附带 -c 选项,基本上执行与原始操作相反的操作。让我们以前面的命令为例。如果您将补码选项添加到此命令,它将删除所有非数字字符。看看:
linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -cd []
结果为
56789
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 的操作系统为您的每一个文本格式化需求提供了大量的文本操作命令。你只需要知道它们是什么以及如何使用它们。
全部0条评论
快来发表一下你的评论吧 !