【发布时间】:2013-01-04 21:34:50
【问题描述】:
试图在我的 AWK 代码中查找所有唯一制造商的列表。我已经成功地使用以下方法从 CSV 中提取它们并输出到换行符分隔的文本文件,以便将来 php 导入到 Magento:
awk 'BEGIN {FS=";";ORS="\n";}a[$33]++==0 {print $33}' ./rsrimport/IMPORT.csv >OUTPUT.txt
输出这个:
"manufacturer"
"5.11 Tactical"
"Advantage Arms"
"Advanced Armament Corp"
"Ultra Dot"
"American Classic"
"AccuSharp"
"Adams Arms"
"American Defense Mfg."
"Advanced Technology"
"A&G"
"Aimpoint"
""
"Arsenal, Inc."
"Allen"
"AmeriGlo"
"Apex Tactical Specialties"
"Armscor"
"Armalite"
"A.R.M.S., Inc."
"ASP"
我想做的有三点:
- 去掉双引号
- 删除第一行(即标题 来自文件)
- 删除所有空格(带“”的行)
为此苦苦挣扎了一段时间,并阅读了无数论坛。感谢您提供的任何帮助!
【问题讨论】:
-
考虑用php做吗?
-
其实那是我考虑的另一个途径。我正在考虑基于此提出后续问题。
-
file — 将整个文件读入一个数组,然后循环 str_replace for " (或者在本例中为 trim()) empty() 用于空行 $array[0] 用于第 1 行。我从不喜欢混合支持多种语言
-
存在的问题是我需要遍历 CSV,提取第 33 个字段的唯一值,并将它们吸入数组。自从我直接编写 PHP 代码以来已经有很长时间了。当我吃完午饭回来时,我会发布 PHP 代码。
-
fgetcsv()\str_getcsv() 将是最好的起点
标签: php awk text-processing