【发布时间】:2012-06-15 09:58:00
【问题描述】:
您好,我实际上试图管理一个 awk 脚本,该脚本会处理具有如下内容的文本文件
. [135]Edwards Engineering Pty Ltd
Quality Structural Steel. Specialising In Fabrication And Steel
Stairs
21- 23 Ada Ave, Brookvale NSW 2100
ph: (02) 9938 5320
. [269]Diavolo Steel Fabrication
5 Humeside Drv, Campbellfield VIC 3061
ph: (03) 9357 7947
. [40]WH Williams Pty Ltd
Your Partner For High Quality Custom-Made Metal Products
Short lead times & unbeatable quality. Make us the first choice for
your entire sheetmetal laser cutting,bending,welding & more.
61- 77 Egerton St, Silverwater NSW 2128
ph: (02) 9647 1277
[41]www.whwilliams.com.au
等等..实际上是一个巨大的文件.. 我设法编写的脚本是
awk '$2 ~ /\. \[/{$1=x; print}' RS=\* FS='\n' OFS='|' Myfile > excel.csv
此命令将我的文本文件转换为带有记录分隔的 csv 文件。 但正如您在上面看到的,上述示例中的地址长度是不同的,我得到一个格式不规则的 csv 文件..
所以我现在要做的是更改命令以将 1.公司名称在一个单元格中, 2.描述部分,如果存在于一个单元格中,如果不存在,则单元格留空, 3. 一个单元格中的地址部分, 4. 一个单元格的电话号码 5.一个单元格中的网站.. 如果任何特定组件不存在,则该单元格应留空..
我是 linux 新手,正在尝试处理一些东西,而且对 shell 和 awk 也很陌生.. 如果有可能,任何人都可以帮助我...
【问题讨论】: