示例输入文件
function getRepoReviewers(gitHost, repoURL) {
return {
method: 'GET', headers: "",
url: `v1/api/code/${gitHost}/reviewers/${repoURL}`
}
}
function getRepoBranches(gitHost, repoURL) {
return {
method: 'GET', headers: "",
url: `v1/api/code/${gitHost}/branches/${repoURL}`
}
}
要获取的预期输出
GET, v1/api/code/${gitHost}/reviewers/${repoURL}
GET, v1/api/code/${gitHost}/branches/${repoURL}
我尝试在下面的shell脚本的帮助下使用下面的正则表达式逐行读取,但无法得到想要的结果。
for entry in "$1"/*
do
var=$(tr '´' "'" < $entry);
printf "%s" "$var" > file.txt;
list1=$(grep -o "[^']*v1[^']*" file.txt);
list2=$(grep -o "[^']*v2[^']*" file.txt);
echo "$list1" >> api_endpoints_bat_api.csv
echo >> api_endpoints_bat_api.csv
echo "$list2" >> api_endpoints_bat_api.csv
echo >> api_endpoints_bat_api.csv
done
1条答案
按热度按时间jrcvhitl1#
下面是一个使用管道的单行程序:
随文件一起输出:
说明:
egrep
:仅使用感兴趣的行perl
:将url行与前一行连接起来,BEGIN{undef $/}
命令perl进入多行模式grep
:仅使用非空行tr
:将原报价更改为'
perl
:仅捕获和使用方法和url顺便说一句,如果你想把这个输入到
.csv
文件中,你应该省略逗号后面的空格。