簡體   English   中英

如何使用awk,sed,剪切,粘貼(Unix / Linux)偏移CSV文件中的字段?

[英]How to offset fields within a CSV file using awk, sed, cut, paste (Unix/Linux)?

我在CSV文件中有以下格式的一些工程數據:

A1, B1
C2, D2, E2
F3, G3, H3

我需要將此文件轉換為以下CSV格式:

B1
E2
H3

換句話說,僅保留第3列的第2行及更高行; 但是字段B1需要移至/對齊到第3列。

換句話說,C2,D2,F3和G3被丟棄。

有很多awksedcutpaste解決方案可用於移位,復制和粘貼整個列或行。 但是我沒有找到任何針對這種自定義操作的解決方案。

假設您的輸入文件是jnk

awk -F"," '{print $NF}' jnk

感謝所有有用的建議。 我終於得到了以下工作方式,也許不是最有效的,但是有效。

\\將第2列的前4行輸出到appendme.csv

awk -F,'NR> = 1 && NR <= 4 {print $ 2}'input.csv >> appendme.csv

\\抓住有用的列到data1.csv

awk -F,'{print $ 3}'input.csv >> data1.csv

\\刪除空行1-4輸出data2.csv

sed -e'1,4d'<data1.csv> data2.csv

\\將data2的內容輸出到appendme.csv中(單列,因此暗示有待追加到$ 1)

awk -F,'{print $ 1}'data2.csv >> appendme.csv

暫無
暫無

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

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