使用变量时查找+删除带有扩展名的文件夹

使用变量时查找+删除带有扩展名的文件夹

我们有 linux rhel 机器 7.2,下面有以下文件夹/kafka/topics

drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-1
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-10
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-100
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-103
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-106
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-109
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-112
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-115
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-118
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-121
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-124
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-127
drwxr-xr-x 2 root  kafka    141 May 11 17:19 bgol.ase.fgt.dad3-13
.
.
.

我们想要删除所有带有名称的主题 -bgol.ase.fgt.dad3通过使用变量 as ,

topic=bgol.ase.fgt.dad3
find /kafka/topics  -name "$topic*" -exec rm -rf "{}" \;

但我觉得上面的方法不太优雅,因为我们想在bash脚本中设置这种方法

当使用变量作为 $topic 时,我将不胜感激获得删除文件夹的其他建议

答案1

如果您使用 find ,它会返回完整路径:

$ find /kafka/topics 
/kafka/topics/bgol.ase.fgt.dad3-1
/kafka/topics/bgol.ase.fgt.dad3-100
...

*所以,你应该像这样在 var 之后和这个 var 之前添加*$topic*,finallment

find /kafka/topics  -name "*$topic*" -exec rm -rf "{}" \;

相关内容