首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含调用mediainfo的空格的脚本参数

包含调用mediainfo的空格的脚本参数
EN

Unix & Linux用户
提问于 2018-01-29 17:20:35
回答 1查看 352关注 0票数 0

我想要创建一个小的shell脚本,它将告诉我一个视频的持续时间,它的文件名作为参数传递给它。会是这样的:

代码语言:javascript
复制
$ script_name "file name with spaces.webm" # or any other media file extension

脚本文件将类似于

代码语言:javascript
复制
#/bin/bash
SECRET_SAUCE_USING_$1 | mediainfo | grep Duration | sort -u
# maybe SECRET_SAUCE_USING_$1 | xargs -0 mediainfo . . .

在命令行上,这就是我希望脚本所做的工作:

代码语言:javascript
复制
$ mediainfo file\ name\ with\ spaces.webm | grep Duration | sort -u

我试过用这样的方法

代码语言:javascript
复制
echo "$1" | sed 's/ /\\ /g' # piped to mediainfo . . .

若要将文件名中的空格更改为“\”字符对(没有引号),请执行以下操作。回声..。部分起作用,但不起作用。

代码语言:javascript
复制
echo "$1" | tr ' ' '\000' | xargs -0 mediainfo . . .

将空格更改为nulls,并使xargs使用文件名中的null调用mediainfo,而不是空格。

到目前为止我还没有找到解决办法。(我实际上使用的是zsh,而不是bash。)所有的帮助都非常感谢。Tnx

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-01-29 17:28:15

如果您希望脚本的参数($1)作为mediainfo的参数结束,那么只需将它放在那里:

代码语言:javascript
复制
# ...
mediainfo "$1" | grep Duration | sort -u
# ...

它适用于脚本的单个参数。更灵活的是,您可以遍历脚本的所有参数,并将它们一次提供给mediainfo:

代码语言:javascript
复制
for file in "$@"
do
  mediainfo "$file" # ...
done
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/420457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档