【问题标题】:grep - put part of string into variablegrep - 将部分字符串放入变量中
【发布时间】:2010-07-17 02:29:58
【问题描述】:

我正在使用 swfdump 来获取音频文件的 ID 号。这是我正在使用的:

swfdump -D /Users/home/folder/file.swf | grep -i mp3

即输出: [00e] 28999 DEFINESOUND 定义 id 0006 (MP3 22Khz 16Bit mono)

我需要的是 id #..在这种情况下它是 0006。我想要一个变量中的那个数字。有人知道怎么做吗?

【问题讨论】:

  • 在这种情况下,“在变量中”是什么意思?环境变量?
  • 我在 shell 脚本中使用它,我将在另一个命令中使用该 id 编号变量。

标签: unix command-line grep


【解决方案1】:
the_id=`swfdump -D /Users/home/folder/file.swf | grep -i mp3 | cut -d' ' -f6`

【讨论】:

  • 这似乎有效,但我的 id 错误...上面给了我 28999...我想要 0006。
【解决方案2】:
var=$(swfdump -D /Users/home/folder/file.swf | sed '/MP3/s/.*id //;s/ (.*//')

或重击

$ s=$(swfdump -D /Users/home/folder/file.swf)
$ var=${s/(MP3*}
$ echo $var
0006

【讨论】:

  • 不幸的是,这些都不起作用... swfdump 转储所有反编译的 swf 内容。第一个示例根本没有缩小范围。第二个示例将反编译的 swf 内容削减了一点,但仍然没有 id。
猜你喜欢
  • 2019-08-14
  • 1970-01-01
  • 2016-08-29
  • 1970-01-01
  • 2011-12-09
  • 2019-10-24
  • 2011-04-11
  • 2018-07-18
相关资源
最近更新 更多