forループに複数のディレクトリを入力したいとします。私はディレクトリの完全な名前を持っていません。その一部だけです。名前がサブストリングに一致するディレクトリを入力する
私はcd *IncompleteDirName*
これは、ループのMVEであるようにあなたは、端末上で書くと何のようなもの、何かをしたいと思います:IncompleteDirName
年代には、ファイルIncompleteDirNames
から取得されます。
cont=1
sum=1
while read anotherFILE; do
IncompleteDirName=$(sed "${cont}q;d" IncompleteDirNames)
cd *"${IncompleteDirName}"*
# Do stuff
cd ..
cont=$((cont + sum))
done <anotherFILE
これは機能していません。ワイルドカードが拡張されていないか、変数が正しく機能していないとわかりません。
*::それは私にこのエラーメッセージが投げている
そのようなファイルやディレクトリ
を私は、これは意図したとおりにアスタリスクが働いていないことを意味しているとします。ディレクトリには入っておらず、すべてのパターンに一致するディレクトリがあります。とにかく、ディレクトリは入力されていません。
Alicante Almeria Andalucia Avila
それは名前の列です:
これはIncompleteDirNames
ファイルはどのように見えるかです。 これらは上記IncompleteDirName
秒に対応するディレクトリ名です:このコードを試してみてください
aa4fas_Alicante_com
mun_Almeria
comunidadde_Andalucia
ciuAvila
「機能しない」とはどういう意味ですか?これは実際には実行されない例であるため、ここで何が起こっているのかを正確に理解することができません。部分文字列はファイル内にあり、それらの部分文字列はディレクトリ名の一部であり、 'FILE'にある部分文字列によって部分的にマッチしたディレクトリのそれぞれに「やる」ことをしたいのですか?部分文字列が複数のディレクトリに一致する場合はどうなりますか? 'code'と' p-ca'ファイルの内容は何ですか? – ghoti
私は複数のディレクトリが一致していないと確信しています。私はコードを修正しました。 – D1X
動作しないものを明確にする必要があります。ひとつは確かです。不完全な名前が多くのディレクトリに一致し、それぞれの内部で何かしたい場合は、そのためのループが必要です。また、ディレクトリが一致しない場合の準備をする必要があります。仮のコードでは "cd"コマンドが失敗しますが、 "Do stuff"部分は実行されません。 – Fred