linux - | 中的字符串值 分隔字段在 awk 中向右拆分
问题描述
从给定文件中读取第二列时,我在使用给定文件中的 awk 读取多个列时遇到问题。在阅读第 2 列时,内容正在向右移动。
/home/Binay/bin] 82#head -2 /data/xyz/serial/fep_xyz/temp/./xyz_reject_file_details_20180926194730.dat
309_body_mass_index_at_refresh.ABORT.2018-05-13.dat_SKIP_AT|Failed MBR_KEY Lookup|94
309_disease_management_member_activity_at_refresh.ABORT.2018-05-13.dat_SKIP_AT|Failed MBR_KEY Lookup|11575
/home/Binay/bin] 82#
预期产出
/home/Binay/bin] 82# cat /data/xyz/serial/fep_xyz/temp/./xyz_reject_file_details_20180926194730.dat | awk -F'|' ' {print $1,$2,$3} ' | while read abort_file abort_reason record_count <
> do
> echo ${abort_reason}
> done
Failed MBR_KEY Lookup
Failed MBR_KEY Lookup
/home/Binay/bin] 83#
但我目前得到的输出为
/home/Binay/bin] 82# cat /data/xyz/serial/fep_xyz/temp/./xyz_reject_file_details_20180926194730.dat | awk -F'|' ' {print $1,$2,$3} ' | while read abort_file abort_reason record_count <
> do
> echo ${abort_reason}
> done
Failed
Failed
/home/Binay/bin] 83#
解决方案
while IFS='|' read -r abort_file abort_reason record_count; do echo ${abort_reason}; done < filename
为什么不在 while 中直接使用输入字段分隔符?
推荐阅读
- eclipse - 从eclipse中项目的所有.java中删除所有包导入
- ios - 避免 JSONSerialization 将 Bool 转换为 NSNumber
- python - 在 python 中使用小波对信号进行降噪
- django - 我的基于类的视图没有在 Django 类的 form-valid(self,form) 中添加 slug 和标签
- controller - 使用吞吐量控制器时相关性不起作用
- python - 同一文本文件中不同位置的文本重新排列,并对其进行了一些更改,并使用 python 删除了一些特定文本
- python - 我可以获取为我的每个账户运行的 AWS EC2 实例的列表吗?
- wordpress - 如何使下载链接仅供一个人使用
- xampp - 如何在 XAMPP 中使用 Xdebug?
- c++ - 从非类型模板参数声明 constexpr 数组的可移植方式