使用 bash 脚本中文件中的正则表达式进行 Grep 而不包含更多文件夹

纱子

我有一个包含各种路径的文件,例如:

/home/user/Desktop/Bash/file1.txt
/home/user/Desktop/Bash/file2.txt
/home/user/Desktop/Bash/file3.txt
/home/user/Desktop/Bash/moreFiles/anotherFile.txt
/home/user/Desktop/text/prettyFile.txt

我从包含目录的用户那里收到输入,例如:

/home/user/Desktop/Bash/

而且我通常将这个表达式保存到regex中,以便通过grep查找目录中的所有文件。但是,如果文件夹有更多文件夹,它也会包含它们,但我只想包含用户输入的目录中的文件。我想要的输出应该是这样的:

/home/user/Desktop/Bash/file1.txt
/home/user/Desktop/Bash/file2.txt
/home/user/Desktop/Bash/file3.txt

但它一直包括

/home/user/Desktop/Bash/moreFiles/anotherFile.txt

这是我不想要的,我需要在 bash 脚本中进行。

阿努巴瓦

您可以使用此grep命令直接获取给定路径下的文件跳过子目录:

s='/home/user/Desktop/Bash/'
grep -E "$s[^/]+/?$" file

/home/user/Desktop/Bash/file1.txt
/home/user/Desktop/Bash/file2.txt
/home/user/Desktop/Bash/file3.txt

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Bash中的正则表达式测试文件夹是否存在?

使用正则表达式查找和grep仅获取文件夹

Bash grep -P 带有文件中的正则表达式列表

如何使用 Python 使用字典中包含的正则表达式进行 grep

使用Windows Grep在文本文件中进行正则表达式搜索

在 bash 脚本中提取文件的两个表达式之间的行(使用正则表达式、sed)

bash / sed脚本使用正则表达式从文件获取输出

使用bash正则表达式验证文件内容

使用bash读取文件直到更改日志文件中的正则表达式

如何使用正则表达式从bash中的文件名中仅选择数字

两个不同文件的 Bash grep 正则表达式问题

regexr.com 中的正则表达式匹配,但 GREP 中不匹配(bash)

查找包含多个匹配正则表达式/grep 的文件夹

使用正则表达式在for循环中重命名bash中的文件

在bash中使用正则表达式过滤文件中的数据

Bash-使用正则表达式检索文件中的文本字符串

使用正则表达式重命名Bash中的文件

使用正则表达式Grep多个文件以指定要搜索的文件名

Bash脚本正则表达式用于文件大小

同时使用两个文件时在grep中使用正则表达式

在BASH脚本中使用正则表达式来抓取序列中较早时由命令输出创建的文件名/类型

将正则表达式与grep输出进行比较-bash脚本

使用grep从基于正则表达式的文件中提取一些文本

Bash脚本-在grep正则表达式中获取`(。*)`(点星)的结果

使用Powershell脚本的renamig文件的正则表达式

SH脚本使用正则表达式获取文件

Bash正则表达式:如何使用“ grep”或“ ls”匹配n次

bash正则表达式:星号使用grep给出了模糊的搜索结果

有没有办法使用正则表达式来自动填充bash中的文件名?