我已經嘗試了awk語法在這個網站的無數建議,但不知何故我不能讓我的頭在awk附近..如何根據下一行中存在的模式組合當前行和下一行。 (使用awk)
我想結合兩行(當前的一個和下一個)當我的expr存在於下一行時。
比如我有一個包含以下內容的文本文件:
<option value="1" selected> channel 1
<div id="program_13" class="tree_3"><input type="checkbox" name="output_checkbox" value="13"> Somename1</div>
<option value="2" selected> channel 2
<div id="program_21" class="tree_3"><input type="checkbox" name="output_checkbox" value="21"> Someothername</div>
<option value="3" selected> channel 3
<option value="4" selected> channel 4
<option value="5" selected> channel 5
我想加盟,只有當「output_checkbox」表達下一行中存在下一個當前行。這可能是所有或任何5條主線的真相。
在上面的例子中,我期望的結果將是:
<option value="1" selected> channel 1 <div id="program_13" class="tree_3"><input type="checkbox" name="output_checkbox" value="13"> Somename1</div>
<option value="2" selected> channel 2 <div id="program_21" class="tree_3"><input type="checkbox" name="output_checkbox" value="21"> Someothername</div>
<option value="3" selected> channel 3
<option value="4" selected> channel 4
<option value="5" selected> channel 5
我希望通過中美戰略經濟對話(我想我能處理),以獲得在末尾以下內容:
channel 1: Somename1
channel 2: Someothername
channel 3:
channel 4:
channel 5:
我期待着您的建議
如果有連續的'/ patter /'行可能會有問題 – Kent
@Kent:我想這取決於在這種情況下需要什麼。在上面,我明確地重置'prev'以避免重複,但替代方法是用'{prev = prev $ 0; next}' – rici
您的UPDATE中的命令不會給出該結果。它覆蓋了'{prev = $ 0}'中的'prev'。你需要找到正確的輸出點。無論如何,你的第一個單線可能已經解決了OP的問題.... – Kent