我厌倦了这个sed:D所以我有一个小文件:
f <- function(n){
tmp <- digest::digest(n)
stats::rnorm(n)
}
find_ns_functions(f)
# [1] "digest::digest" "stats::rnorm"
这是我的sed命令:
version = "1.1"
group= "com.centurion.eye"
archivesBaseName = "eye"
impmet {
version = "4.1614"
runDir = "eclipse"
}
我需要获得1.1版本。因此,当我执行此命令时,输出为:
sed -n -e '/version/ s/.* = *//p' "build.gradle"
但希望的是:
"1.3"
"4.1614"
我怎样才能实现这一目标?谢谢!
答案 0 :(得分:3)
匹配第一个后退出。
sed -n -e '/version/ {s/.* = *//p;q}' build.gradle
答案 1 :(得分:0)
将命令输出传递给head -1
以仅获取第一个条目。
sed -n -e '/version/ s/.* = *//p' "build.gradle" | head -1
示例运行
[ /c]$ cat build.gradle
version = "1.1"
group= "com.centurion.eye"
archivesBaseName = "eye"
impmet {
version = "4.1614"
runDir = "eclipse"
}
[ /c]$ sed -n -e '/version/ s/.* = *//p' build.gradle | head -1
"1.1"
答案 2 :(得分:0)
使用GNU sed,您还可以在地址范围内使用0
仅在第一场比赛中应用替换:
sed -n -e '0,/version/s/.* = *//p' build.gradle