如何将目录中的所有文件名作为参数传递给Bash中的命令?

时间:2014-11-03 04:14:37

标签: linux bash shell unix command-line

我使用Subliminal(一种为任何给定媒体文件查找字幕的工具)来获取一系列电视剧集的字幕,而现在,我是手动完成每一个插曲。这是一个繁琐的过程。相反,我想使用Bash自动化它。

我不是Bash-ninja,先尝试过这个:

for i in /dir/*.avi; do subliminal -l en -- "$i"; done;

但显然,这没有用。

subliminal还接受多个文件名作为参数,因此以下内容也适用:

subliminal -l en -- file1.avi file2.avi ... filen.avi

但是,手动输入和制表完每个文件名需要做很多工作。我认为有更简单的方法可以实现这一目标吗?也许使用xargs,但我不确定。

你有什么想法?

1 个答案:

答案 0 :(得分:1)

通配符在命令运行之前展开。

subliminal -l en -- file*.avi