我的意思是,我想搜索" thing1",然后我想搜索" thing2"基于" thing1"的位置。我希望在结果中按顺序显示它们中的两个。
例如。我发现" thing1"在第100行。我想再搜索第一个" thing2"发生在" thing1"之前。然后我想按顺序显示这两个" thing2"然后" thing1"。我想为" thing1"的每个实例做这个。我找到了。
这样做的原因是我想搜索某些我知道将在列表中的字符串(python),我也想知道列表的名称。所以我认为我可以搜索字符串,然后还显示第一个" = ["在字符串之前发生的符号。
所以如果文件有:
$.validate({form : '#LoginForm'});
并创建一个查找my_list = [
'item1',
'item2',
'item3',
]
my_other_list = [
'item4',
'item5',
'item3',
]
的搜索,然后回头查找之前的'item3'
然后输出应该是(不包括grep和ack将放的行号):
'= ['
答案 0 :(得分:0)
我想你想要这个:
awk '/=/{thing2=$0} /item3/{print thing2;print $0,"\n"}' YourFile
因此,每当您看到=
时,您都会将该行记为thing2
。当您看到item3
时,您打印的是您看到的最后一个thing2
和当前行。
示例输出
my_list = [
'item3',
my_other_list = [
'item3',