以下のフォルダがある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*
finalmenteを追加する必要があります。
find /kafka/topics -name "*$topic*" -exec rm -rf "{}" \;