Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查变量是否包含特定的文本字符串bash_Bash_Macos_Text Processing - Fatal编程技术网

检查变量是否包含特定的文本字符串bash

检查变量是否包含特定的文本字符串bash,bash,macos,text-processing,Bash,Macos,Text Processing,我想检查$url的内容是否包含v=在https://youtube.com/watch? 示例输出(注意v=的当前和缺失实例): 我会尝试一些代码来测试,但我真的不知道该用什么 操作系统是macOS High Sierra 10.13.6,而bash版本是3.2.57(1)-在双方括号内发布,操作员支持globs: if [[ $url == 'https://youtube.com/watch?'*v=* ]] 如果您想要获取视频ID,那么使用正则表达式实现这一点非常简单。查看或尝试通过谷歌

我想检查
$url
的内容是否包含
v=
https://youtube.com/watch?

示例输出(注意
v=
的当前和缺失实例):

我会尝试一些代码来测试,但我真的不知道该用什么


操作系统是macOS High Sierra 10.13.6,而bash版本是3.2.57(1)-在双方括号内发布,操作员支持globs:

if [[ $url == 'https://youtube.com/watch?'*v=* ]]

如果您想要获取视频ID,那么使用正则表达式实现这一点非常简单。查看或尝试通过谷歌搜索“regex获取youtube视频id”


如果你不知道,考虑使用 YouTube DL/CODE >的部分,他们可以解析每个可能的URL,并有更多的工具来做很多事情。

我可以提到在URL中搜索<代码> V= < /C> >以决定是否允许某人访问它是一种非常弱的形式。如果您对URL是如何构建的略知一二,可以通过向以
v
结尾的查询字符串添加任何参数来欺骗它,例如
https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ?env=2
将通过,youtube将忽略参数
env
@brunorey我的主要目标是获得
v=
(又称视频ID)之后的11个字符,并忽略所有其他字符。有没有更好的办法?我想不出别的了way@brunorey寻找
watch?v=
&v=
不是更安全的主意吗?i、 e.如果未找到
watch?v=
,请尝试查找
&v=
。这看起来确实很有用,但我不喜欢使用JS。我已经有了
youtube dl
,将不得不考虑使用它作为视频ID。顺便说一句,我的目标(目前)是只获取一个视频的ID,而不是从频道或播放列表中获取所有ID。
if [[ $url == 'https://youtube.com/watch?'*v=* ]]