![](/img/trans.png)
[英]How can I add a column to a specific position in a csv file using cat, sed, awk or cut?
[英]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被丟棄。
有很多awk
, sed
, cut
和paste
解決方案可用於移位,復制和粘貼整個列或行。 但是我沒有找到任何針對這種自定義操作的解決方案。
假設您的輸入文件是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.