次の行で構成されるファイルがあります。
URL=http://someURL]somefilename
一部のファイル名が存在しない場合は、ダウンロードURLリンクが必要です。次のようなシェルコマンドを使用したいと思います。
for i in $(cat FILE); do if [ ! -f somefilename] somecode; done
しかし、どのコードを使うべきかわかりません。どんなアイデアがありますか?
編集:terdonの問題を解決するには、はい、1行に]つのみ、someURLの後に1つあり、はい、ファイル名は]の後ろの末尾までの完全な文字列です。
答え1
これは純粋なシェル方法です:
while IFS='=]' read a url file; do
[ -f "$file" ] || echo "wget $url]$file"
done < file
これはファイルを繰り返して各行を分割し、=
各]
結果フィールドを変数a(string URL
)、$url
(url to filename)、および$file
(filename)として読み込みます。次に、$file
現在のディレクトリに存在しない場合(したがって[ -f "$file" ]
falseを返す)、ダウンロードします。