tr命令

tr命令

tr命令用于转换或删除文件中的字符,可以读文件也可以从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。

语法#

Copy
tr [OPTION]... SET1 [SET2]

参数#

  • -c, -C, --complement: 使用SET1的补码。
  • -d, --delete: 删除SET1中的字符,不翻译。
  • -s, --squeeze-repeats: 用一次出现的字符替换SET1中列出的重复字符的每个输入序列。
  • -t, --truncate-set1: 首先将SET1截断为SET2的长度。
  • --help: 输出帮助信息。
  • --version: 输出版本信息。

解释序列#

  • \NNN: 八进制值为NNN的字符(13个八进制数字)。
  • \\: 反斜杠。
  • \a: 可闻的BEL
  • \b: 退格键。
  • \f: 换页。
  • \n: 新行。
  • \r: 返回。
  • \t: 水平制表符。
  • \v: 垂直制表符。
  • CHAR1-CHAR2: 从CHAR1CHAR2的所有字符按升序排列。
  • [CHAR*]: 在SET2中,复制CHAR直到SET1的长度。
  • [CHAR*REPEAT]: 重复CHAR的副本,如果以0开头,则重复八进制。
  • [:alnum:]: 所有字母和数字。
  • [:alpha:]: 所有字母。
  • [:blank:]: 所有水平空白。
  • [:cntrl:]: 所有控制字符。
  • [:digit:]: 所有数字。
  • [:graph:]: 所有可打印字符,不包括空格。
  • [:lower:]: 所有小写字母。
  • [:print:]: 所有可打印字符,包括空格。
  • [:punct:]: 所有标点符号。
  • [:space:]: 所有水平或垂直空白。
  • [:upper:]: 所有大写字母。
  • [:xdigit:]: 所有十六进制数字。
  • [=CHAR=]: 等同于CHAR的所有字符。

示例#

file.txt文件内容如下。

Copy
Hello World

将文件中的字母全部转换为大写。

Copy
cat file.txt | tr [a-z] [A-Z] # HELLO WORLD

同样可以使用[:lower][:upper]参数来实现。

Copy
cat file.txt | tr [:lower:] [:upper:] # HELLO WORLD

将水平空白符转换为\t

Copy
cat file.txt | tr [:space:] "\t" # Hello World

删除所有o字符。

Copy
cat file.txt | tr -d "o" # Hell Wrld

删除所有数字。

Copy
echo "My ID is 73535" | tr -d [:digit:] # My ID is

取出字符串中的数字。

Copy
echo "My ID is 73535" | tr -cd [:digit:] # 73535

每日一题#

Copy
https://github.com/WindrunnerMax/EveryDay

参考#

Copy
https://www.runoob.com/linux/linux-comm-tr.html https://www.tutorialspoint.com/unix_commands/tr.htm https://www.geeksforgeeks.org/tr-command-in-unix-linux-with-examples/
posted @   WindRunnerMax  阅读(217)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示
CONTENTS