ファイルパスシェルスクリプトの正規表現

ファイルパスシェルスクリプトの正規表現

ドキュメント内のすべてのクライアントのフォルダ一覧があるため、~/Documents/clients/フォルダ内のフォルダは次のように表示されます。

Angelina_Julie-client23456
Brad_Pitt-client34567
Tom_Hanks-client12345

など。その後、次のスクリプトがあります。

clientcode="client12345"
cdate=$(date +%F)
mydir="/home/userA/Documents/clients/$clientcode"_"$cdate/"

問題は、"/home/userA/Documents/$clientcode"_"$cdate/"クライアントコードの前にクライアントがあるため、このパスが見つからないことです。したがって、この場合は見てわかるように、firstname_lastname-正しいmydirが追加されます。だから私はFirstname_Lastnameを自動的にインポートして含める方法が気になります。フォルダ内で一意かどうかに応じて?/home/userA/Documents/Tom_Hanks-$clientcode"_"$cdate/Tom_Hanks-$clientcode~/Documents/clients/mydir

ベストアンサー1

検索を使用する:

clientcode="client12345"
cdate=$(date +%F)
mydir="$(find /home/userA/Documents/clients/ -name "*${clientcode}*" -type d)_$cdate"

名前に対応するディレクトリを含むディレクトリを見つけ、最後にclientcode追加します。_$cdate

注:実際には、ディレクトリ名は変更されません。mydir実際には存在しないように見えるディレクトリ名が存在します。

おすすめ記事