Bash 匹配一组单词并仅使用sed或awk打印
使用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
组织
和回购
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
IFS='./'read-ra-arr$
,因为这是进程替换语法。请更新IFS='。/:'这样我就可以接受答案了。我需要在以下问题上分开:也是。(已测试并正在运行)
organization/repo