bashスクリプトでは、単一のコマンドを使用してダウンロードしたファイルをダウンロードして処理できるようにしたいです。ファイル名は元のファイル名で保存する必要があります。
私が間違っている可能性がありますが、wgetが変数としてダウンロードした新しいファイル名をどのように取得しますか?
たとえば、process.sh "https://demo.io/files.php?action=download&id=123456"
#!/bin/bash
if [ "$#" -eq 0 ]
then
echo "no argument supplied"
else
echo "$# arguments:"
for x in "$@"; do
wget --content-disposition "$x"
mediainfo "$new_file"
done
fi
似たようなものが見つかりました。質問出力として正しいファイル名を生成するため、許可されていない答えがあります。彼らは以下をお勧めします:
wget --content-disposition -nv "https://demo.io/files.php?action=download&id=123456" 2>&1 |cut -d\" -f2
しかし、このような変数に入れようとすると失敗します。
...
new_file=$(wget --content-disposition -nv "$x" 2>&1 |cut -d\" -f2)
echo $new_file
mediainfo $new_file"
答え1
これはうまく機能し、ファイルを保存します。
#!/bin/bash
if [ "$#" -eq 0 ]
then
echo "no argument supplied"
else
echo "$# arguments:"
for x in "$@"; do
new_file=$(wget --content-disposition -nv "$x" 2>&1 |cut -d\" -f2)
mediainfo "$new_file"
done
fi