2015-10-20 218 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