function func {
awk -v fr="$1" -v ft="$2" '/fr/,/ft/' text.txt }
func "frame 44" "frame 1000"
功能應該抓住框架44和幀1000然而的匹配之間的線,AWK查找「FR」代替「幀44」,使得例如「框架1」在文本文件中匹配。我該如何解決這個問題?awk不寄存器內部變量intitiations
function func {
awk -v fr="$1" -v ft="$2" '/fr/,/ft/' text.txt }
func "frame 44" "frame 1000"
功能應該抓住框架44和幀1000然而的匹配之間的線,AWK查找「FR」代替「幀44」,使得例如「框架1」在文本文件中匹配。我該如何解決這個問題?awk不寄存器內部變量intitiations
嘗試此命令:
awk -v fr="$1" -v ft="$2" '
$0 ~ fr { inFrame=1 }
inFrame {print}
$0 ~ ft { inFrame=0 }' text.txt
這也將包括頁眉和頁腳行。
要跳過頁眉和頁腳,請嘗試:
$0 ~ fr { inFrame=1; next }
$0 ~ ft { inFrame=0 }
inFrame {print}
您不能使用'/ fr /'來匹配輸入變量'fr'。使用'$ 0〜fr' .. –
您是否還希望包含「frame 44」和「frame 1000」的行,還是隻想要兩行之間的行? –
謝謝,不知道。不,頁眉和頁腳匹配不重要。然後會有什麼不同呢? – user3412984