当前位置: 首页 > 面试题库 >

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

上官高逸
2023-03-14
问题内容

我正在编写一个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)的使用… 问题答案: 这应该可以满足您的需求: 用法: 将输出: 编辑: 嘿,只是一个简单的问题,如何防止多个连字符彼此相邻?并将它们替换为1?

  • 如何从R中的字符串中删除所有特殊字符并用空格替换它们? 要删除的一些特殊字符是:

  • 问题内容: 我需要从字符串中删除所有特殊字符,标点符号和空格,以便只有字母和数字。 问题答案: 这可以不用正则表达式来完成: 您可以使用: 如果您坚持使用正则表达式,则其他解决方案也可以。但是请注意,如果可以在不使用正则表达式的情况下完成此操作,那么这是最好的解决方法。

  • 问题内容: 我在删除特殊字符时遇到问题。我想删除除“()/。%-&”以外的所有特殊字符,因为我将该字符串设置为标题。 我编辑了原始代码(如下所示): 但这无法删除特殊字符,例如:“,”,“”。 原始代码:(此方法有效,但会删除以下字符:“()/。%-&”) 问题答案: 您的句点匹配所有字符。转义它(和其他特殊字符),如下所示:

  • 问题内容: 我想删除特殊字符,例如: 使用Java从String中获取。 问题答案: 这取决于你定义为特殊字符的内容,但是请尝试: 请注意,该^字符不能是列表中的第一个字符,因为你要么必须对其进行转义,否则将意味着“除这些字符外的任何字符”。 另一个注意事项:-字符必须是列表中的第一个或最后一个,否则你必须对其进行转义,否则它将定义一个范围(例如,表示“ 范围内的所有字符” )。 所以,为了保持一

  • 问题内容: import java.util.Scanner; import java.util.regex.*; public class io{ public static void main(String args[]){ Scanner scan = new Scanner(System.in); String c; if((c=scan.nextLine())!=null) { Patt