qiuruoshui

导航

awk(二) gsub替换

gsub(r,s) 在整个文件中用s替代r

  • 删除文件中所有逗号
    awk 'gsub(",", ""){print}' input.file
    # 注意gsub内部用双引号""

gsub(r,s,t) 在整个t中用s替代r

  • 将第四列中分隔符"-"替换为下划线"_"
    awk 'gsub(/-/,"_",$4)' input.file
    # 以上仅输出被替换的行

  • 将符合条件的替换并输出
    awk -v FS="\t" -v OFS="\t" 'gsub(/p/,"n",$1)' file
    # 只有被替换的行输出,其余行不输出

  • 没有执行替换操作的行也会输出
    awk -v FS="\t" -v OFS="\t" '{gsub(/p/,"n",$1);print}' file
    # 没有被替换的行原样输出

  • 仅符合特定条件的被替换
    awk '{if(/^Com/){gsub(/p/,"n");print}else{print}}' file
    # 在以Com开头的行中,将所有p替换为n并输出,其余行原样输出

posted on 2023-01-10 16:15  秋若水  阅读(346)  评论(0编辑  收藏  举报