【发布时间】:2015-11-18 01:26:34
【问题描述】:
我正在 bash 脚本中使用 awk 编写 if-then-else 语句。
我想做的是识别 col 1 值与特定字符串(rs 或 chr)不匹配的行,并将前缀 (chr) 附加到这些识别行的 col 1 值。所有带有匹配字符串的行都应该按原样打印 - 没有附加。
到目前为止我的代码行是:
awk '{if (! ($1 ~ /rs/ || $1 ~ /chr/)) {($1 == "chr"$1); print $0}}; else {print $0}' filename > newfilename
我不断收到带有此代码的语法错误消息。
我可以自己成功地执行识别和附加,但是将它们组合成一个命令时遇到问题。
【问题讨论】:
-
($1 == "chr"$1)是一个条件,而不是一个赋值。使用单个等号进行赋值。
标签: if-statement awk