如何把文件中的每一行都处理成 20130101/内容_20130101.dat
比如说 有一个文件
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代码,或思路
------解决方案--------------------shell还不熟悉一般这个用正则直接替换就可以了,vim编辑器的正则我还没搞明白。
用geany的正则替换的话,搜索
^(.*)$
替换为
20130101/\1_20130101.dat
------解决方案--------------------sed 貌似更简单
sed -n 's/^\(.*\)$/20130101\/\1_20130101.dat/p' filename