我需要删除和之间的所有数据,以及","以及它。
我目前正在使用以下命令。
sed -i '/,/,/(/{//!d;s/ ,$//}' test1.txt
cat test1.txt
创建设置表EDW_EXTRC_TAB.AVER_MED_CLM_HDR_EXTRC
,没有FALLBACK, 没有在期刊之前, 没有后期, CHECKSUM =默认, DEFAULT MERGEBLOCKRATIO
( EXTRC_RUN_ID INTEGER NOT NULL,
当前输出
创建设置表EDW_EXTRC_TAB.AVER_MED_CLM_HDR_EXTRC
,没有FALLBACK( EXTRC_RUN_ID INTEGER NOT NULL,
预期输出:
创建设置表EDW_EXTRC_TAB.AVER_MED_CLM_HDR_EXTRC
( EXTRC_RUN_ID INTEGER NOT NULL,
这里有什么问题? 有什么建议吗?
提前致谢。
答案 0 :(得分:1)
两种方法:
- GNU sed 方法:
sed -z 's/,[^(]*//' test1.txt
- GNU awk 方法:
awk -v RS= '{ sub(/,[^(]+/,"",$0) }1' test1.txt
输出:
CREATE SET TABLE EDW_EXTRC_TAB.AVER_MED_CLM_HDR_EXTRC
( EXTRC_RUN_ID INTEGER NOT NULL,