2014-04-09 29 views
1

我有這樣的輸出(名稱和得分字段長度是可變的,現場用空格隔開)一個Linux shell腳本:將可變長度字段拆分爲元組?

Name  Gender Age Score 

John Smith M 24 1110 

Alice Darby F 30 2220000 

我想保存輸出到元組,這樣我可以排序依據不同的領域。我只是嘗試分割空間,並加入名稱字段。

test = [('John Smith','M',24,1110),('Alice Darby','F',30,2220000)] 

任何更好的方法來做到這一點?

+2

我會擔心名稱格式,這可能會有很大的不同。約翰Q.史密斯。愛麗絲範達比。你能指望性別是M還是F? – jsf80238

+0

後者更多的是一個政治問題,儘管我同意它應該被考慮。一種解決方法是使用引號來分隔shell腳本中的字段。 – icedwater

回答

0

如果最終目標是隻是進行排序,然後使用排序:

cat myfile.txt | tail -n+2 | grep . | sort -k2 

將由姓氏排序,如果你有這樣的假設名稱始終是「倒數第一」。相應地調整排序參數。