[英]awk combine 2 commands for csv file formatting
我有一個包含4列的CSV文件。 我想先:
我的方法是將第一個awk命令傳遞到另一個命令中,但是我沒有得到我想要的:
awk 'NR < 10' my_file.csv | awk '{ print $3 }'
唯一缺少的是-F。
awk -F "," 'NR < 10' my_file.csv | awk -F "," '{ print $3 }'
您無需兩次運行awk。
awk -F, 'NR<=10{print $3}'
這將為記錄號(行)小於或等於10的每一行打印第三個字段。
請注意, <
與<=
不同。 前者匹配記錄為1到9,后者匹配記錄為1到10。 如果需要十條記錄,請使用后者。
請注意,這將遍歷整個文件,因此,如果要優化性能,請執行以下操作:
awk -F, '{print $3} NR>10{exit}'
這將打印第三列。 然后,如果記錄號大於10,它將退出。 這不會單步瀏覽整個文件。
還請注意,awk的“ CSV”匹配非常簡單; awk無法理解帶引號的字段,因此記錄如下:
red,"orange,yellow",green
有四個字段,其中兩個帶有雙引號。 YMMV取決於您的輸入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.