2015-10-20 155 views
0

最近我已经从Windows切换到osx,并且我正在努力找出最佳方式来自动执行一些我以前使用Windows Power Shell的任务。将列添加到csv osx

在电源外壳我用运行一个脚本来添加&填充列在CSV文件

Import-Csv z:\myfile.csv | Select-Object @{Name='ACTION';Expression={''}},*,@{Name='COUNTRY';Expression={'UNITED KINGDOM'}} | Export-Csv z:\output.csv -NoTypeInformation 

正如你可以看到这增加2列到CSV和填充国英国。

我还用来从批处理文件中运行这个文件,该文件会在删除原始文件之前创建文件夹,日期为&。

我的问题是什么是在osx中​​实现这个最好/最有效的方法?

我看了,觉得它可能是awk,我试过用automator但没有太多的成功。

感谢您的任何建议。

+0

Powershell的是不是真的那么好于SO表示,并且似乎大多数答复者在BATCH中投了他们的回复......既然如此,您可能会更好地展示您的文件在流程前后的外观,因为这里的每个人都可以与此相关。一般来说,在OSX上,Automator和Applescript是非常详细的,我建议你使用'bash','awk','sed'和'Perl',因为这些技能可以传输到Linux以及OSX。无论如何,展示一个前后,我相信有人会帮助。 –

回答

1

假设第一行是头,如果1!

sed '1!s/$/,,UNITED KINGDOM/' z:\myfile.csv > z:\output.csv 

其添加到最终的每一行的不除去标题,除了第一,后,,UNITED KINGDOM

+0

我明白了,是否有可能将COUNTRY的标题填入联合王国的值?或者这需要2个命令? – Paul

+0

可以在同一个sed命令中至少执行2个动作。在这里它保持标题并在其他行的末尾添加UNITED – NeronLeVelu