如果第 4 列的当前值为 0(零)并且仅当第 1 列具有关键字“video”时,我需要将第 4 列修改为 11。
pX23hdzzs2 20181020 0samp 11
pXDvideo32 20181020 0samp 0
pXDvideo32 20181020 0samp 11
pXDvideo32 20181020 0samp 11
pXUwezp882 20181020 0samp 0
pXDvideo32 20181020 0samp 11
pXD7Hedss2 20181020 0samp 11
pXDvideo32 20181020 0samp 0
pXDvideo32 20181020 0samp 11
pXDvideo32 20181020 0samp 0
我在将第 1 列过滤为通配符时遇到问题视频带 * 的不被接受。
我使用的脚本是:
$ awk -F "\t" '$1=="*video*" && $4==0 {print $1"\t"$2"\t"$3"\t"$4}' filename > filename_new
答案1
awk '$1 ~ /video/ && $4=="0" {print}' 文件
pXDvideo32 20181020 0samp 0
pXDvideo32 20181020 0samp 0
pXDvideo32 20181020 0samp 0
看看是否能解决您的问题。