shell的使用sed处理数据

场景:shell的使用sed处理数据

1.示例数据:
cat t1.txt
|FLAG|AUTOCLAIM|CE_AUTOCHECK_RESULT|CREATED_DATE|DATE|7|N|创建时间|5|(null)|
|FLAG|AUTOCLAIM|CE_AUTOCHECK_RESULT|UPDATED_DATE|DATE|7|N|更新时间|6|(null)|
|FLAG|AUTOCLAIM|CE_AUTOCHECK_RESULT|STATUS|VARCHAR2|2|N|0:初始状态
1:红
2:黄
3:绿
4:检测失败
|7|(Null)|
|FLAG|AUTOCLAIM|CE_AUTOCHECK_RESULT|ERROR_MESSAGE|VARCHAR2|3000|Y|异常信息|8|(null)|
|FLAG|AUTOCLAIM|CE_AUTOCHECK_RESULT|ERROR_TIMES|NUMBER|22|Y|失败次数:当失败次数大于10次不允许再次自动检测
|9|(null)|
|FLAG|AUTOCLAIM|CE_AUTOCHECK_RESULT|SEND_DATE|DATE|7|Y|发送时间|10|(null)|
|FLAG|AUTOCLAIM|CE_AUTOCHECK_RESULT|CAR_NUMBER|VARCHAR2|80|Y|检测的车牌号|11|(null)|
|FLAG|AUTOCLAIM|CE_AUTOCHECK_RESULT|FRAUDRISKLEVEL|VARCHAR2|2|Y|欺诈风险评级|12|(null)|
|FLAG|AQQX_BD|AQ_CBLPGX|YXBZ|VARCHAR2|8|N|有效标志|8|ID|
|FLAG|AQQX_BD|AQ_CZDXXXB|ID|VARCHAR2|64|N|??|1|ID|
|FLAG|AQQX_BD|AQ_CZDXXXB|CZMC|VARCHAR2|400|Y|???|2|ID|

2.需要处理成以下的效果(删除异常的行,去掉每行开头的|FLAG|)
AUTOCLAIM|CE_AUTOCHECK_RESULT|CREATED_DATE|DATE|7|N|创建时间|5|(null)|
AUTOCLAIM|CE_AUTOCHECK_RESULT|UPDATED_DATE|DATE|7|N|更新时间|6|(null)|
AUTOCLAIM|CE_AUTOCHECK_RESULT|STATUS|VARCHAR2|2|N|0:初始状态
AUTOCLAIM|CE_AUTOCHECK_RESULT|ERROR_MESSAGE|VARCHAR2|3000|Y|异常信息|8|(null)|
AUTOCLAIM|CE_AUTOCHECK_RESULT|ERROR_TIMES|NUMBER|22|Y|失败次数:当失败次数大于10次不允许再次自动检测
AUTOCLAIM|CE_AUTOCHECK_RESULT|SEND_DATE|DATE|7|Y|发送时间|10|(null)|
AUTOCLAIM|CE_AUTOCHECK_RESULT|CAR_NUMBER|VARCHAR2|80|Y|检测的车牌号|11|(null)|
AUTOCLAIM|CE_AUTOCHECK_RESULT|FRAUDRISKLEVEL|VARCHAR2|2|Y|欺诈风险评级|12|(null)|
AQQX_BD|AQ_CBLPGX|YXBZ|VARCHAR2|8|N|有效标志|8|ID|
AQQX_BD|AQ_CZDXXXB|ID|VARCHAR2|64|N|??|1|ID|
AQQX_BD|AQ_CZDXXXB|CZMC|VARCHAR2|400|Y|???|2|ID|

3.使用sed处理
字符串测试
echo ‘|AUTOCLAIM|CE_AUTOCHECK_RESULT|ERROR_MESSAGE|VARCHAR2|3000|Y|异常信息|8|(null)|’ | sed -r ‘s#^|##g’
AUTOCLAIM|CE_AUTOCHECK_RESULT|ERROR_MESSAGE|VARCHAR2|3000|Y|异常信息|8|(null)|

处理文件
cat t1.txt | grep ‘|FLAG|’ | sed ‘s#|FLAG|##’
AUTOCLAIM|CE_AUTOCHECK_RESULT|CREATED_DATE|DATE|7|N|创建时间|5|(null)|
AUTOCLAIM|CE_AUTOCHECK_RESULT|UPDATED_DATE|DATE|7|N|更新时间|6|(null)|
AUTOCLAIM|CE_AUTOCHECK_RESULT|STATUS|VARCHAR2|2|N|0:初始状态
AUTOCLAIM|CE_AUTOCHECK_RESULT|ERROR_MESSAGE|VARCHAR2|3000|Y|异常信息|8|(null)|
AUTOCLAIM|CE_AUTOCHECK_RESULT|ERROR_TIMES|NUMBER|22|Y|失败次数:当失败次数大于10次不允许再次自动检测
AUTOCLAIM|CE_AUTOCHECK_RESULT|SEND_DATE|DATE|7|Y|发送时间|10|(null)|
AUTOCLAIM|CE_AUTOCHECK_RESULT|CAR_NUMBER|VARCHAR2|80|Y|检测的车牌号|11|(null)|
AUTOCLAIM|CE_AUTOCHECK_RESULT|FRAUDRISKLEVEL|VARCHAR2|2|Y|欺诈风险评级|12|(null)|
AQQX_BD|AQ_CBLPGX|YXBZ|VARCHAR2|8|N|有效标志|8|ID|
AQQX_BD|AQ_CZDXXXB|ID|VARCHAR2|64|N|??|1|ID|
AQQX_BD|AQ_CZDXXXB|CZMC|VARCHAR2|400|Y|???|2|ID|

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值