- 论坛徽章:
- 15
|
本帖最后由 rdcwayx 于 2012-06-21 11:15 编辑
schrosourcexuey 发表于 2012-06-10 19:55 ![]()
sed 's/,//g' $1 > test.txt
sed 's/D E S C R I P T I O N/D E S C R I P T I O N /g' test.txt > testA ...
大概看懂了你的意思,但是代码写得实在太烂。
其实只要提供源文件,和期望的输出,大家就可以直接帮你。
下面的代码是按照你现有的思路改了,无需多个临时文件,无需while 循环。我代码中的testB其实是可以不需要的,但是没看到原文件, 先这样用吧。- rm -f $1.csv
- awk '{gsub(/,/,"");gsub(/D E S C R I P T I O N/,"D E S C R I P T I O N ");gsub(/LAST YEAR/,"LAST-YEAR")}1' $1 > testB.txt
- awk '/HOMEOWNER/||/FEES/||/RENTAL/||/YEAR/||/ACTUALS/{ DESCRIPT=substr($0,0,35); RESTST=substr($0,37) } # You need explain how to get RESTST value
- /YEAR/{ RESTST="HERE is not clear enough." } # You need explain how to get RESTST value
-
- print DESCRIPT, RESTST
- }' OFS="," testB.txt > $1.csv
复制代码 |
|