Linux之tr命令

tr是translate的缩写,主要用于删除文件中的控制字符,或者进行字符转换
语法:tr [–c/d/s/t] [SET1] [SET2]
SET1: 字符集1
SET2:字符集2

1、提取数字

temp = `echo "helloworld333555888 | tr -cd "[0-9]""`
echo ${temp}

-d表示删除,[0-9]表示所有数字,-c表示对条件取反

-c:用SET2替换SET1中没有包含的字符
-d:删除SET1中所有的字符,不转换
-s: 压缩SET1中重复的字符
-t:将SET1用SET2转换,一般缺省为-t

tr -cd “[0-9]” 的即:剔除非数字的字符,即输出 333555888

2、加密、解密(字符替换)

# 加密 结果 76543
echo "12345" | tr '[0-9]'  '9876543210' 
# 解密 结果 12345
echo "76543" | tr '9876543210' '[0-9]'
### Linux `tr` 命令使用教程 #### 一、基本概念 `tr` 是一种用于转换或删除字符的命令工具,在 Bash 中应用广泛。该命令并不复杂却十分有用,适用于多种场景下的字符处理工作[^3]。 #### 二、基础语法结构 标准形式如下所示: ```shell tr [选项] SET1 [SET2] ``` 其中,`SET1` 表示源字符集合;而当指定了第二个字符集 `SET2` 后,则会将来自输入流里的每一个属于 `SET1` 的成员替换成对应的 `SET2` 成员[^1]。 #### 三、具体功能展示 ##### (一)字符翻译 可以实现大小写字母之间的相互转换: ```shell echo "HELLO WORLD" | tr '[:upper:]' '[:lower:]' ``` 上述指令将会把所有的大写英文字母转变为相应的小写字母版本。 ##### (二)字符删除 通过指定特定的目标字符来移除它们: ```shell echo "this is a test." | tr -d ' ' ``` 这里 `-d` 参数指示 `tr` 移除所有空格字符[^5]。 ##### (三)压缩重复项 利用 `-s` 开关能够有效地去除连续出现多次相同类型的符号: ```shell echo "hello...world!!!" | tr -s '.!' ``` 这条语句的作用在于仅保留每种标点符号的一次实例。 ##### (四)取反操作 借助于 `-c` 标志位可选取给定范围之外的所有其他ASCII码表内的元素作为待处理对象: ```shell echo "abcXYZ123" | tr -cd 'a-z' ``` 此表达式的含义是从原始字符串里筛选并输出全部位于小写字母区间之中的成分[^4]。 需要注意的是,尽管 `tr` 功能强大且易于掌握,但由于其局限性——即只支持单一字符级别的映射关系建立——所以在面对更为精细复杂的文本编辑需求时往往显得力不从心。此时推荐考虑采用像 `sed` 或者 `awk` 这样的高级脚本语言来进行替代作业[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值