tr命令

tr命令用于从标准输出中转换、压缩和/或删除字符。
语法:

tr [OPTION]... SET1 [SET2]
-c, -C, –complement 取字符集的补集,需要配合其他选项,不能单独使用。
-d, –delete 删除SET1中的字符而不是转换
-s, –squeeze-repeats 删除所有重复出现字符序列,只保留一个;即将重复出现字符串压缩为一个字符串。
-t, –truncate-set1 将SET1对应位置的字符转换为SET2集中对应位置的字符

支持字符替换的字符集:

  \NNN            八进制值字符NNN(1到3个八进制数字)
  \\              \
  \a              铃声符
  \b              空格
  \f              换页符
  \n              换行符
  \r              回车符
  \t              水平制表符
  \v              垂直制表符
    CHAR1-CHAR2 从CHAR1到CHAR2的所有字符按照ASCII字符的顺序
    [[:digit:]] 表示任意十进制数字
    [[:xdigit:]]表示十六进制数字范围
    [[:alpha:]] 表示任意字母
    [[:alnum:]] 表示任意字母或数字
    [[:upper:]] 表示大写字母
    [[:lower:]] 表示小写字母
    [[:blank:]] 水平空白字符
    [[:space:]] 水平或垂直空白字符
    [[:punct:]] 特殊字符
  • 常用命令举例
    • 字符替换
      • 小写转换成大写:echo abcfsjdlfali | tr a-z A-Z > /tmp/file.out
      • 大写转换成小写:echo abcfsjdlfali | tr A-Z a-z > /tmp/file2.out
      • 将输入的字符串中包含set1中字符替换为set2中的字符:
        echo abcfsjdlfali | tr 'abc' '123' > /tmp/file3.out
      • 将多行合并成一行
    • 删除字符
      • 删除不满足要求的字符:
        echo abcfsjdlfali | tr -d 'abc' > /tmp/file4.out
      • dos格式文件与linux文件的转换
        tr -d '\r' < dos.txt > linux.txt
      • 将多行合并成一行
        tr -d '\n' < linux.txt > linux.txt.bak
    • 提取满足要求的字符
      • 提取所有字符:
        echo kjahdfla12039845lkasdkfiau | tr -cd [[:digit:]]
    • 字符去重
      • 去除多余的空格
        echo "aksdjf " |tr -s " "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

banche168

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值