Linux 如何列出存储库中的文件/目录?
我希望通过运行命令来获取存储库下所有文件/目录的名称。是否有类似于Linux 如何列出存储库中的文件/目录?,linux,bash,macos,Linux,Bash,Macos,我希望通过运行命令来获取存储库下所有文件/目录的名称。是否有类似于wget的命令行工具来执行此操作 例如:存储库url是 我想要一份文件/目录的名字列表 1.0/ 1.1a/ 1.1b/ 1.1c/ 1.1d/ 1.2/ 1.3/ 1.4/ 1.6/ 1.8/ 1.9/ 2.0/ 2.1/ 2.2/ 2.3/ 2.4/binaries/doc/stable/index.txt ruby-1.8.5-p115.tar.bz2 ruby-1.8.5-p115.tar.gz ruby-1.8.5-p1
wget
的命令行工具来执行此操作
例如:存储库url是
我想要一份文件/目录的名字列表
1.0/1.1a/
1.1b/
1.1c/
1.1d/
1.2/
1.3/
1.4/
1.6/
1.8/
1.9/
2.0/
2.1/
2.2/
2.3/
2.4/binaries/doc/stable/index.txt
ruby-1.8.5-p115.tar.bz2 ruby-1.8.5-p115.tar.gz ruby-1.8.5-p115.zip
ruby-1.8.6-p114.tar.bz2 ruby-1.8.6-p114.tar.gz ruby-1.8.6-p114.zip
ruby-1.8.6-p383.tar.bz2 ruby-1.8.6-p383.tar.gz ruby-1.8.6-p383.zip
ruby-1.8.6-p388.tar.bz2 ruby-1.8.6-p388.tar.gz ruby-1.8.6-p388.zip
ruby-1.8.6-p398.tar.bz2 ruby-1.8.6-p398.tar.gz ruby-1.8.6-p398.zip
ruby-1.8.6-p399.tar.bz2 ruby-1.8.6-p399.tar.gz ruby-1.8.6-p399.zip
ruby-1.8.6-p420.tar.bz2 ruby-1.8.6-p420.tar.gz ruby-1.8.6-p420.zip
ruby-1.8.7-p174.tar.bz2 ruby-1.8.7-p174.tar.gz ruby-1.8.7-p174.zip
ruby-1.8.7-p248.tar.bz2 ruby-1.8.7-p248.tar.gz ruby-1.8.7-p248.zip
ruby-1.8.7-p249.tar.bz2 ruby-1.8.7-p249.tar.gz ruby-1.8.7-p249.zip
您可以使用
wget
并过滤结果:
wget -O - "https://ruby.taobao.org/mirrors/ruby/" | grep href | cut -d"\"" -f 2 > list.txt
现在cat list.txt
将给出:
../
1.0/
1.1a/
1.1b/
1.1c/
1.1d/
1.2/
1.3/
1.4/
1.6/
1.8/
1.9/
2.0/
2.1/
2.2/
2.3/
2.4/
binaries/
doc/
stable/
index.html
index.txt
...
您可以使用
wget
并过滤结果:
wget -O - "https://ruby.taobao.org/mirrors/ruby/" | grep href | cut -d"\"" -f 2 > list.txt
现在cat list.txt
将给出:
../
1.0/
1.1a/
1.1b/
1.1c/
1.1d/
1.2/
1.3/
1.4/
1.6/
1.8/
1.9/
2.0/
2.1/
2.2/
2.3/
2.4/
binaries/
doc/
stable/
index.html
index.txt
...
用正则表达式解析xml/html不是一个好主意。然而,它有助于肮脏和快速使用。请记住,不要将此放在生产代码中 使用正则表达式,您可以做更多的事情。检查HTML代码后,这些行应该适用于您:
curl 'url'|grep -Po '(?<=>)[^<]+'
curl'url'| grep-Po'(?)[^使用正则表达式解析xml/html不是一个好主意。但是它有助于脏的和快速的使用。请记住,不要将此放在生产代码中
使用正则表达式,您可以做更多的工作。检查HTML代码后,这些行应该适合您:
curl 'url'|grep -Po '(?<=>)[^<]+'
curl'url'| grep-Po'(?)[^试试这行:curl'url'| grep-Po'(?)[^非常感谢Kent,我在设置-Po时总是被告知有关grep
的用法。我不知道。我无法在终端中访问https,因此我将其放在评论中。如果它起作用,我会将其作为答案移动@jeff试试这一行:curl'url'| grep-Po'(?)[^非常感谢Kent,我在设置-Po时总是被告知有关grep
的用法。我对此一无所知。在这里,我无法在终端中访问https,因此我将其放在评论中。如果它有效,我会将其作为答案移动@JeffThreak,非常有效。还有一个问题,如果“href”出现,我如何获取这些字符串属性是绝对url,例如,href=“@杰夫您可以寻找一些方法来获取最后一个字段谢谢,最后我通过sed表达式完成了这项工作。感谢您的帮助。非常感谢,它可以工作。还有一个问题,如果“href”属性是绝对url,我如何获取这些字符串,例如,href=“”@Jeff你可以寻找一些方法来获取最后一个字段谢谢,我终于通过sed表达式完成了。谢谢你的帮助。非常感谢@Kent,我终于解决了这个问题。非常感谢@Kent,我终于解决了这个问题。