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

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

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

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

下面是一些常见的 tr 用法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

© 版权声明
THE END