Bash 匹配一组单词并仅使用sed或awk打印

Bash 匹配一组单词并仅使用sed或awk打印,bash,awk,sed,Bash,Awk,Sed,使用sed或awk,我如何匹配并仅打印来自的组织和回购 git@github.org.com/组织机构/repo.git 我的意图是将这两个值都分配给变量,以便在我正在构建的为组织和存储库创建本地文件夹中使用 预期结果将仅为组织/repo 目前为了继续,我正在使用cut-f2-d':“| cut-f1-d”,但我对推这个感到羞耻。因为需要创建两个shell变量,所以最好选择BASH解决方案 您可以将read与IFS='./'一起使用:: IFS='./:' read -ra arr <&l

使用sed或awk,我如何匹配并仅打印来自的
组织
回购

git@github.org.com/组织机构/repo.git

我的意图是将这两个值都分配给变量,以便在我正在构建的为组织和存储库创建本地文件夹中使用

预期结果将仅为
组织/repo


目前为了继续,我正在使用
cut-f2-d':“| cut-f1-d”
,但我对推这个感到羞耻。

因为需要创建两个shell变量,所以最好选择BASH解决方案

您可以将
read
IFS='./'一起使用:

IFS='./:' read -ra arr <<< 'git@github.org.com/organization/repo.git'
echo "${arr[3]}/${arr[4]}"
  • IFS='。/:'
    在点上拆分输入字符串并
    /
    和:冒号
  • read-a
    从输入文本填充数组

如何在shellscript中使用此功能?例如,git-config--get remote.origin.url命令正在检索git-repo url。您可以使用:
IFS='./'read-ra-arr$
,因为这是进程替换语法。请更新IFS='。/:'这样我就可以接受答案了。我需要在以下问题上分开:也是。(已测试并正在运行)
organization/repo