在匹配另一个字符串“ B”之后,我需要找到在n行之前出现的“ A”的第一次出现。
说
A(从最近的B开始捕获)
..
..
B
..
..
A(不捕获)
A(捕获,最接近下一个B)
..
..
B
任务:捕获出现在“ B”之前的“ A”。
不能使用grep -r -B 5(或6或7,因为它可以是前面的任何行) grep“ A”
因为“ A”可以是任意多行,所以我需要首先出现该“ A”。
基本上找到每个“ B”的“ A”。
有解决办法吗?
如果不是grep,脚本是什么?
答案 0 :(得分:0)
使用struct ContentView: View {
init() {
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor:UIColor.black]
UINavigationBar.appearance().barTintColor = .blue
}
var body: some View {
NavigationView {
ZStack {
HStack {
List(0...10) { test in
Spacer()
self.background(Color.purple)
Text("This is a test")
Spacer()
self.background(Color.pink)
}
.background(Color.blue)
List(0...10) { test2 in
Spacer()
Text("Also a test")
.background(Color.green)
Spacer()
}
.background(Color.red)
}
}
}
.navigationBarTitle(
Text("Test"),
displayMode: .inline
)
}
}
,您可以这样做:
awk
当行以awk '/^A/ {f=$0} /^B/ {print f}' file
A(capture since nearest to next B)
A (capture, nearest to next B)
开头时,它将行存储在变量f
中
稍后找到A