我想基于下一个列值获取一个列值。我正在为具有值host的列重新映射,并想打印上一个列值
尝试使用grep -Po ".* (?=host)"但未获得正确的输出
文件test.log包含以下示例数据(全部在一行中)

test Plus 193310 68FAD575EC59C2C6 exa4dbadm03  host

cat test.log|grep -i 193310|grep -i host|grep -Po ".* (?=host)"

我正在尝试将值为宿主的列grep并打印上一个列值。在这种情况下,我想得到exa4dbadm03作为输出
预期结果:
exa4dbadm03型

最佳答案

你为什么不用awk来做这个?例如:

awk '{for(i=2;i<=NF;++i){if($i=="host"){print $(i-1);break}}}' file

关于linux - 如何在Linux中基于相邻列值获取列值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56149763/

10-12 23:20