我正在尝试从文件名中取出最后两个大写字母,并将它们附加到小写的文件名中。我预期使用的命令是:
ls | sed -e "s/.*\([A-Z][A-Z]\)$/\0\/\L\1\E/"
在我的Ubuntu系统上,我可以实现这一点并且工作得很好,但在我的Mac电脑上,它只是打印出一个0/LXXE/
,其中XX
是捕获的正确字母。
那么,在Mac上,有哪些与\0
、\L
和\E
等价的sed命令?
我在网上查看了一些资料,发现有几个人注意到Mac OS X sed与Ubuntu sed不同,但大多数帖子都谈到-i
需要文件扩展名或空字符串的要求(这曾经让我困扰过)。
brew install --default-names gnu-sed
安装gnu-sed
,以便将其安装为sed
而不是gsed
。 - TalkLittle