0

我正在尝试创建一个脚本来运行另一个脚本并从输出中更改名称。

这是到目前为止的脚本:

#! /bin/bash

i=1

for N in mediainput.iso mediainput2.iso
do
    x264transcode $N
    mv $N $((i++))
done

这不太好。它只是移动文件并重命名它们。

我需要先运行 x264transcode,然后重命名它的输出。因为当 x264transcode 处理文件时,它们都具有相同的名称。

将文件更改为 1 然后 2 等等的名称是可以的。

但是,如果有一种方法可以获取文件所在文件夹的名称或文件本身,那将是一个加号。也许在它们之间进行选择以用于不同的场景。

下面的例子:

  1. 〜/视频/暑假2009/dvd.iso
  2. x264 的输出:VIDEO01.mkv
  3. 重命名脚本的输出:Summer-Vation-2009.mkv
4

1 回答 1

1

x264transcode 是否总是调用其输出 VIDEO01.mkv?所有的视频文件都是 dvd.iso 吗?如果是这样,类似这样,也可以使用连字符获得正确的文件名:

cd ~/Videos
for I in */dvd.iso
do
  x264transcode $I
  mv VIDEO01.mkv `dirname $I|tr ' ' -`.mkv
end

这是假设 x264transcode 将 VIDEO01.mkv 存储在当前目录而不是其输入文件所在的目录。

于 2012-05-01T19:46:23.740 回答