아래 폴더가 있는 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 "{}" \;