我是这样理解你的问题的。
文件file.txt
fjlakjflajkflkajfjakjfalkjfoairujnasncv
O
aljflajflja ljfaljflakjflakjf
ia;jflajfjaljfajflajfoiuqoruaf
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
requires="ua-common/2.7.25@aep-stable"
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
jalfjalkfjaoeiurjasnvafnaojf
jvjvg]
iajfiaufurva ajfaj
脚本myscript
#!/usr/bin/env bash
current_version=$(grep -oP 'requires="ua-common\/\K.*?(?=@)' file.txt)
printf 'The current version is: %s\n\n' "$current_version"
read -rp "Insert a new version number: " version
if [[ -n $version ]]; then
sed "s|\(requires=.*ua-common/\).*\(@.*\)\$|\1$version\2|" file.txt
fi
然后运行
bash ./myscript
输出
The current version is: 2.7.25
Insert a new version number:
输入新版本号:
The current version is: 2.7.25
Insert a new version number: 2.7.26
输出
fjlakjflajkflkajfjakjfalkjfoairujnasncv
O
aljflajflja ljfaljflakjflakjf
ia;jflajfjaljfajflajfoiuqoruaf
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
requires="ua-common/2.7.26@aep-stable"
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
jalfjalkfjaoeiurjasnvafnaojf
jvjvg]
iajfiaufurva ajfaj
还有一些与当前脚本有关的事情,例如错误检查、出错时退出等等,但这是一个开始。