gpt4 book ai didi

regex - 从 bash 中的字符串中删除所有特殊字符和大小写

转载 作者:IT王子 更新时间:2023-10-29 00:16:14 26 4
gpt4 key购买 nike

我正在编写一个需要解析文件名的 bash 脚本。

它需要删除所有特殊字符(包括空格):"!?.-_ 并将所有大写字母更改为小写字母。像这样:

Some_randoM data1-A
More Data0

到:

somerandomdata1a
moredata0

我在许多不同的编程语言中看到过很多关于这样做的问题,但在 bash 中却没有。有什么好的方法吗?

最佳答案

cat yourfile.txt | tr -dc '[:alnum:]\n\r' | tr '[:upper:]' '[:lower:]'

第一个 tr 删除特殊字符。 d 表示删除,c 表示补码(反转字符集)。所以,-dc 表示删除除指定字符之外的所有字符。包含 \n\r 是为了保留 linux 或 windows 样式的换行符,我假设您需要。

第二个将大写字符转换为小写。

关于regex - 从 bash 中的字符串中删除所有特殊字符和大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23816264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com