我正在尝试编写一个单行 bash 命令,它将把每个非字母替换为换行符。 (我使用的是 bash)
现在,我有这个:tr ^[a-zA-Z]g '\n'
我也尝试过 tr [^a-zA-Z]g '\n'
两者都不起作用。
我认为 ^ 字符将使正则表达式匹配除 a-z 和 A-Z 之外的所有字符,从而将所有其他字符转换为换行符,但它仍然只是将 a-z 和 A-Z 转换为换行符,并保留其他字符。
如何确保我使用 ^ 来反转正则表达式,而不是将其锚定到行的开头?
有人知道正确的语法吗?或者我应该尝试使用不同的命令?谢谢。
最佳答案
tr
不支持正则表达式。
您可以使用:
tr -c 'a-zA-Z' '\n'
关于bash - 替换除字母以外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43148868/