当前位置: 技术问答>linux和unix
如何把文件中的每一行都处理成 20130101/内容_20130101.dat
来源: 互联网 发布时间:2017-04-18
本文导语: 比如说 有一个文件 ods_sdp_config 内容是 BC_IX_R CI_IX_01 IDX1_BUSINESS_CONTRACT IDX1_BUSINESS_DUEBILL IDX1_CREDITCARD_BRNOCHANGE IDX1_CREDITCARD_INFO IDX1_CREDITCARD_INTRCHANGE IDX1_CUSTOMER_BELONG IDX1_CUSTOMER_INFO 文件内容行数不确定。 现在按照如下规则处理,...
比如说 有一个文件
ods_sdp_config 内容是
BC_IX_R
CI_IX_01
IDX1_BUSINESS_CONTRACT
IDX1_BUSINESS_DUEBILL
IDX1_CREDITCARD_BRNOCHANGE
IDX1_CREDITCARD_INFO
IDX1_CREDITCARD_INTRCHANGE
IDX1_CUSTOMER_BELONG
IDX1_CUSTOMER_INFO
文件内容行数不确定。
现在按照如下规则处理,
取出每一行,如 BC_IX_R 处理成 20130101/BC_IX_R_20130101.dat
也就是说,把每一行处理成 20130101/内容_20130101.dat
最后,处理的结果如下
20130101/BC_IX_R_20130101.dat
20130101/CI_IX_01_20130101.dat
20130101/IDX1_BUSINESS_CONTRACT_20130101.dat
20130101/IDX1_BUSINESS_DUEBILL_20130101.dat
20130101/IDX1_CREDITCARD_BRNOCHANGE_20130101.dat
20130101/IDX1_CREDITCARD_INFO_20130101.dat
20130101/IDX1_CREDITCARD_INTRCHANGE_20130101.dat
20130101/IDX1_CUSTOMER_BELONG_20130101.dat
20130101/IDX1_CUSTOMER_INFO_20130101.dat
求shell代码,或思路
|
sed 貌似更简单
sed -n 's/^(.*)$/20130101/1_20130101.dat/p' filename
|
shell还不熟悉一般这个用正则直接替换就可以了,vim编辑器的正则我还没搞明白。
用geany的正则替换的话,搜索
替换为
用geany的正则替换的话,搜索
^(.*)$
替换为
20130101/1_20130101.dat