変数を使用するときに拡張子を持つフォルダを検索+削除

変数を使用するときに拡張子を持つフォルダを検索+削除

以下のフォルダがある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 "{}" \;

おすすめ記事