3

ムービーを .avi から .mp4 に変換する簡単な bash スクリプトを作成しましたが、さらに 2 つのことを行いたいと考えています。

  1. 出力ファイルに *.avi.mp4 ではなく *.mp4 のみを含める
  2. 変換が完了したら、古いファイルを削除します。

これが私のスクリプトです。

#!/bin/bash


avconv -i "$1" -c:v libx264 -c:a copy -sn -crf 24 "$1".mp4
4

2 に答える 2

3
  1. を実行する必要があります。ここでは、サフィックスを削除して の内容を出力し、サフィックスを追加する${1%.avi}.mp4ように bash に指示しています。$1.avi.mp4
  2. 前のコマンドが成功した場合にのみオペレーターがそれに続くコマンドを実行するaconv ... && rm "$1"ため、変換が成功した場合にのみ削除するために、を実行することをお勧めします。&&

最終版:

#!/bin/bash

avconv -i "$1" -c:v libx264 -c:a copy -sn -crf 24 "${1%.avi}.mp4" && rm "$1"

これが役立つことを願っています=)

于 2012-10-23T15:53:47.423 に答える
2

どうですか:

avconv -i "$1" -c:v libx264 -c:a copy -sn -crf 24 "${1/.avi/.mp4}" && rm "$1"

アップデート

コメントに応じて、検索と置換の構文は次のとおりです。

${1/oldstring/newstring}

だから、あなたはそれを好きなように使うことができます。

于 2012-10-23T15:56:56.170 に答える