选择文件使用模式匹配

使用一滴模式匹配选择特定的文件在一个文件夹中。

写的mathan.pillai

去年发表在:2022年5月23日

在选择文件,一个共同的要求是只从一个文件夹读取特定的文件。

例如,如果您正在处理日志,你可能想要从一个特定的月读文件。列举每个文件和文件夹找到所需的文件,您可以使用一个水珠模式匹配多个文件用一个表达式。

本文将使用示例模式向您展示如何从样本读取特定的文件列表。

示例文件

假设以下文件都位于根文件夹。

/ /根/ 1999。txt / /根/ 2000。txt / /根/ 2001。txt / /根/ 2002。txt / /根/ 2003。txt / /根/ 2004。txt / /根/ 2005。txt / /根/ 2020/04。txt / /根/ 2020/05.txt

一团模式

星号

*——星号匹配一个或多个字符。它是多个通配符字符。

这个例子与匹配所有文件. txt扩展

% scala显示器(spark.read.format(“文本”).load(" / /根/ * . txt "))

问号

吗?——问号匹配一个字符。这是一个通配符,只限于替换一个字符。

这个例子匹配所有文件从根文件夹,除了1999.三种。它不搜索2020文件夹的内容。

% scala显示器(spark.read.format(“文本”).load(" / /根/ 200 ? . txt "))

字符类

(ab)——的类匹配一个字符集合。它是由你想要的字符匹配一组括号内。

这个例子匹配所有文件和一个2或3匹配的字符。它返回2002.三种2003.三种从示例文件。

% scala显示器(spark.read.format .load(“文本”)(“/ /根/ 200 [23]. txt "))

否定字符类

(^ ab)——否定字符类匹配一个字符不是。它是由角色你想排除一组括号内。

这个例子匹配所有文件除2或3的地方匹配的字符。它返回2000.三种,2001.三种,2004.三种,2005.三种从示例文件。

% scala显示器(spark.read.format .load(“文本”)(“/ /根/ 200 ^ 23 . txt”))

字符范围

(a - b]——类匹配一个字符值的范围。它是由你想匹配的字符范围内一组括号。

这个例子匹配所有字符在搜索范围内的文件匹配的字符。它返回2002.三种,2003.三种,2004.三种,2005.三种从示例文件。

% scala显示器(spark.read.format .load(“文本”)(“/ /根/ 200 (2 - 5). txt”))

否定字符范围

[^ a - b]——否定字符类匹配一个字符值的范围。范围的字符所代表的是你想要排除一组括号内。

这个例子匹配所有文件与搜索范围外的一个字符的匹配字符。它返回2000.三种2001.三种从示例文件。

% scala显示器(spark.read.format .load(“文本”)(“/ /根/ 200 ^ 2 - 5 . txt”))

交替

{a、b}——交替匹配表达式。它由表达式表示你想匹配的一组花括号内。

这个例子与一个表达式匹配所有文件相匹配的两个选定的表达式。它返回2004.三种2005.三种从示例文件。

% scala显示器(spark.read.format(“文本”)。负载(“/ /根/ 20{04、05年}. txt”))


这篇文章有用吗?