繁体   English   中英

使用awk,“ if”,然后sed

[英]Using awk, “if”, then sed

awk '{ if (NR -ge $num && NR -le $num_max && $1 == $UM); 
then sed 's/'$UM'/'$UM_lower'/g'dipping_CR_UM_change.txt > new.txt}'

我收到以下错误

awk: syntax error at source line 1
 context is
    { if (NR -ge $num && NR -le $num_max && $1 == $UM); then sed >>>  s/$UM/$UM_lower/gdipping_CR_UM_change. <<< txt > new.txt}

awk: illegal statement at source line 1

Awk的强大功能使您可以传递变量并使用gsub()函数创建sed部分:

awk -v UM="$UM" -v UM_lower="$UM_lower" -v num="$num" '{ if (NR > num && NR < num_max && $1 == UM) { gsub(UM, UM_lower) } print $0 }'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM