使用以下脚本访问CSV项目。使用awk逐个处理CSV项目
#!/bin/bash
awk -F "|" 'NR > 0 {print $1}' UserAgents.csv
运行脚本时,我得到正确的输出,即CSV第一个'列'中的整个值集被打印到终端。我想添加的是逐个读取这些项目,并对它们执行一些操作,例如将它们与一个字符串连接起来,然后逐个输出它们(文件,管道或终端)。
使用以下脚本访问CSV项目。使用awk逐个处理CSV项目
#!/bin/bash
awk -F "|" 'NR > 0 {print $1}' UserAgents.csv
运行脚本时,我得到正确的输出,即CSV第一个'列'中的整个值集被打印到终端。我想添加的是逐个读取这些项目,并对它们执行一些操作,例如将它们与一个字符串连接起来,然后逐个输出它们(文件,管道或终端)。
这应该说清楚你的awk脚本是这样做的:
awk -F '|' '{
print NR, NF, $1, "with some trailing text"
}' UserAgents.csv
感谢它帮助我理解awk处理CSV文件中的条目的方式。尽管我最终使用了IFS作为我的脚本的最终版本。 – 2013-04-23 19:28:02
“我最终使用IFS作为我的脚本的最终版本”是什么意思? awk中没有IFS bultin变量,但有shell。 – 2013-04-23 19:29:41
对不起,我的意思是我最终没有使用awk。 – 2013-04-25 10:08:52
你'{打印$ 1}得到每个项目执行''一个由one'。那么为什么不在那里做这个动作呢,试着'打印'你好那里“$ 1'不是作为回答,因为我觉得在问题 – abasu 2013-04-23 15:49:04
'NR> 0'中可能还有别的东西 - 如果那是忽略空白行,它应该是'NF> 0' – suspectus 2013-04-23 15:58:19