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