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并输出,其余行原样输出