簡體   English   中英

使用sed組合多個csv文件

[英]Using sed to combine multiple csv files

我有3個csv文件,我想結合起來。 每個文件都有3個逗號分隔的列。

File 1 has columns a,b,c
File 2 has columns d,e,f
File 3 has columns g,h,i

我想將3個文件合並為一個文件:

a,b,c,e,f,h

我可以使用sed來做到這一點嗎?

我可以輕松地編寫控制台應用程序或腳本,但我試圖獲得一些sed技能,並認為這應該是一個合適的任務?

或者只是剪切和粘貼:

paste -d ',' file[123] | cut -d ',' -f 1,2,3,5,6,8

你可以做:

paste file[123] | sed 's/\t/,/g' | cut -d',' -f 1,2,3,5,6,8

Mat Mendel的答案很好,除非你恰好在Windows上使用cygwin,在這種情況下,一些煩人的行尾字符怪癖會發揮作用。 這取決於unix命令實用程序,在本例中為粘貼和剪切,使用\\ n作為行尾字符而不是Windows所需的\\ r \\ n。

我無法徹底解決如何更改那些utils或cygwin的行尾字符,所以我很高興能夠使用sed。

paste -d ',' file1 file2 file3 | sed 's/\r//g' | cut -d ',' -f 1,2,3,5,6,8 | sed 's/$/\r/'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM