[英]Bash Split CSV by Range
我有以下CSV文件
"Costa Rica","Aberdeen Research",10152
"Costa Rica","Applebees Lab",14562
"Costa Rica","Bride Research",10452
"Costa Rica","Complex Teams",4512
"Costa Rica","Dynamic Air",7854
"Costa Rica","Electronict Arts",7851
而且我需要根據BASH腳本中第二列的第一個字符在N個新文件中拆分CSV
例如腳本:
$: ./split.sh -from A -to C file.csv
預期結果必須是:
"Costa Rica","Aberdeen Research",10152
"Costa Rica","Applebees Lab",14562
"Costa Rica","Bride Research",10452
"Costa Rica","Complex Teams",4512
依此類推,如果我在-from -to參數中傳遞了不同的首字母
謝謝
您可以使用awk輕松完成類似的操作。
awk -F "," '$2 ~ /^\"[A-C]/' < file.csv
將返回:
"Costa Rica","Aberdeen Research",10152
"Costa Rica","Applebees Lab",14562
"Costa Rica","Bride Research",10452
"Costa Rica","Complex Teams",4512
請注意,這是區分大小寫的,因此不會匹配"Costa Rica","bird sanctuary",4321
。 為此,將命令更改為:
awk -F "," '$2 ~ /^\"[a-cA-C]/' < file.csv
使它適應bash腳本應該足夠簡單,請考慮對awk,getopts和正則表達式匹配進行一些閱讀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.