변수 사용시 확장자가 있는 폴더 찾기+삭제

변수 사용시 확장자가 있는 폴더 찾기+삭제

아래 폴더가 있는 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변수를 다음과 같이 사용하여 이름이 있는 모든 주제를 제거하고 싶습니다 .

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*finalment를 추가해야 합니다.

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

관련 정보