簡體   English   中英

Bash按范圍分割CSV

[英]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.

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