Linux tr 正则表达式详解(使用正则表达式在Linux中搜索和替换字符串)

2023年 7月 30日 29.0k 0

tr(translate)是一个 Linux 命令行工具,用于从标准输入(stdin)读取数据并将字符集转换为另一个字符集。

虽然 tr 命令不支持正则表达式,但它提供了类似的功能,可以用于字符转换、删除和压缩。

图片[1]-Linux tr 正则表达式详解(使用正则表达式在Linux中搜索和替换字符串)-不念博客

下面是一些常见的 tr 用法

  • 转换字符:
  • echo "hello world" | tr 'a-z' 'A-Z'
    

    这个命令会将小写字母转换为大写字母,输出 “HELLO WORLD”。

  • 删除字符:
  • echo "hello world" | tr -d 'o'
    

    这个命令会删除所有的 ‘o’ 字符,输出 “hell wrld”。

  • 压缩字符:
  • echo "hello     world" | tr -s ' '
    

    这个命令会将连续的空格字符压缩为单个空格字符,输出 “hello world”。

  • 转换并删除字符:
  • echo "hello world" | tr 'a-z' 'A-Z' | tr -d 'L'
    

    这个命令会首先将小写字母转换为大写字母,然后删除所有的 ‘L’ 字符,输出 “HEO WORD”。

    虽然 tr 不支持正则表达式,但您可以使用其他工具(如 sedawk)实现类似的功能。

    下面是一些使用正则表达式的 sed 示例:

  • 替换字符:
  • echo "hello world" | sed 's/[aeiou]/_/g'
    

    这个命令会将所有的元音替换为下划线,输出 “h_ll_ w_rld”。

  • 删除字符:
  • echo "hello world" | sed 's/[aeiou]//g'
    

    这个命令会删除所有的元音,输出 “hll wrld”。

  • 插入字符:
  • echo "hello world" | sed 's/[aeiou]/&_&/g'
    

    这个命令会在每个元音前后插入相同的元音,输出 “heeelloo woorld”。

    通过熟练掌握这些工具,您可以实现许多高级功能。

    尽管 tr 不支持正则表达式,但它在字符转换、删除和压缩方面非常有用。

    同时,sedawk 等工具为您提供了更强大的文本处理功能。

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论