我想基于下一个列值获取一个列值。我正在为具有值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/