awk - awk 中的更多条件;根据条件添加列
问题描述
如何根据第1列的条件添加第5列?
输入:
word2 1 2 3
word3 5 6 2
word2 8 9 6
word1 5 6 6
word5 7 8 8
word4 9 8 6
awk '{ if ( ( $1 ~ /word1/ {$5 == "0.0697") &&
( $1 ~ /word2/ {$5 == "0.0645") &&
( $1 ~ /word3/ {$5 == "0.0655") &&
( $1 ~ /word4/ {$5 == "0.0677") &&
( $1 ~ /word5/ {$5 == "0.0678") ) {print $1, $2, $3, $4, $5}}' input > output
期望的输出输出:
word2 1 2 3 0.0645
word3 5 6 2 0.0655
word2 8 9 6 0.0645
word1 5 6 6 0.0697
word5 7 8 8 0.0678
word4 9 8 6 0.0677
解决方案
awk '$1 ~ /word1/ {$5 = "0.0697"};
$1 ~ /word2/ {$5 = "0.0645"};
$1 ~ /word3/ {$5 = "0.0655"};
$1 ~ /word4/ {$5 = "0.0677"};
$1 ~ /word5/ {$5 = "0.0678"};
{print}' file
输出:
字 2 1 2 3 0.0645 字 3 5 6 2 0.0655 字 2 8 9 6 0.0645 字 1 5 6 6 0.0697 字 5 7 8 8 0.0678 字 4 9 8 6 0.0677
推荐阅读
- ios - @available 属性不适用于 XCTest 类或方法
- sql - 在 oracle 中使用 REGEXP_REPLACE 删除所有特殊字符
- python - 如何在基于类的视图中返回 JSON 响应,而不是 HTTP 响应
- node.js - 将 Excel 文件中的数据转换为 JSON 并将其存储在 MongoDB 中
- python - on_epoch_end() 未在 keras fit_generator() 中调用
- python - 使用 Pyglet 可视化大量数据
- capl - 如何使用 CAPL 在 CANoe 中模拟错误帧并使错误计数器增加/减少?
- c# - FreshPageModelResolver.ResolvePageModel<>() 出错;
- excel - excel中的数据库vlookup有什么问题
- c# - 使用公式将项目添加到数组的更快方法