首页 > 解决方案 > 获取Linux目录下的name文件

问题描述

我想知道如何每次出现一次才能在我的目录中获取文件名:

示例

我有 :

服务器_20211018_10.txt 服务器_20211018_11.txt 服务器_20211018_12.txt 服务器2_20211018_10.txt 服务器2_20211018_11.txt 服务器2_20211018_12.txt

我想进入一个变量服务器部分,如:

服务器和服务器2

但我有多次出现,我不知道如何只得到一个

现在我做了:

find /home/me/2021/*serveur*20211015* -type f -printf "%f\n" | cut -d. -f1

这给了我所有的服务器名称,但多次,我只想要一个

我不确定它是否真的很清楚,但我尽力了

谢谢 !

标签: linuxshellvariablesshscript

解决方案


这应该有效:

find ./serveur* -type f -printf "%f\n" | grep -E ^[^_]+ -o | sort -u
  1. 找到符合您要求的文件('server' 后跟任何内容)
  2. _只获取(之前的部分^[^_]+,或者“从不是的东西开始_,直到你找到一个_”)
  3. 删除重复项

推荐阅读