9

を使用していくつかのファイルをダウンロードしましたが、ファイルの形式は次のとおりです。

test.zip?AWSAccesskeyId=XXXXXXX&Expires=00000000&Signature=ZZZZZZZZZZ

URL パラメータを削除して、これらのファイルの名前を適切に変更する方法はありますか。から適切な名前(URLパラメータなし)でそのようなファイルをダウンロードする方法もありますwget

mmv次のコマンドで試しました:

mmv "*.zip*" "#1.zip"

しかし、インストールする方法が見つかりませんmmv。私はCentOS 6を使用しています。それで、これ以外の方法を提案してください。

4

3 に答える 3

24
for file in *.zip\?*; do mv "$file" "${file%%\?*}"; done

私が知る限りwget、ローカル ファイル名にクエリ文字列を含めないように指示するオプションはありません。オプションを使用し-Oて明示的なファイル名を指定し、ドライバ スクリプトを修正してクエリ文字列自体を削除できます。

于 2013-01-02T21:49:20.993 に答える
1
for i in `ls *.zip?*`; do echo $i | cut -f 1 -d \? | xargs -n1 mv $i ; done

今、名前のスペースをチェックするのが面倒で申し訳ありません。そしてテストできません。現時点では、bash ベースのシステムにアクセスできません。

于 2013-01-02T21:45:38.450 に答える
0

持っている場合は、 rnmg++ >=4.9.2をインストールして次の操作を実行できます。

rnm -ns '/n/.zip' *.zip\?*
# /n/ expands to file name without extension.

または

rnm -rs '/\.zip\?.*/.zip/' *.zip\?*
于 2016-05-07T09:22:10.687 に答える