爲什麼我的正則表達式不工作?它只是返回原始文件。我的文件看起來像這樣(幾百行):足球數據正則表達式
1 Germany 1765 0 Equal
2 Argentina 1631 0 Equal
3 Colombia 1488 1 Up
4 Netherlands 1456 -1 Down
5 Belgium 1444 0 Equal
6 Brazil 1291 1 Up
7 Uruguay 1243 -1 Down
8 Spain 1228 -1 Down
9 France 1202 1 Up
...
192 US Virgin Islands 28 -1 Down
而且我想這樣的:
Germany,1
Argentina,2
Colombia,3
...
US Virgin Islands,192
這是我試過的正則表達式:
sed 's/\([0-9]*\)\t\([a-zA-Z]*\)/\2,\1/g' <fifa.csv >fifa.csv
,但它只是回報原始文件。 編輯: 現在我試圖
sed 's/\([0-9]*\)\t\([a-zA-Z]*\)/\2,\1/g' <fifa.csv >fifa.csv
,並得到
,1 Germany,,1765Equal,0,
,2 Argentina,,1631Equal,0,
,3 Colombia,,1488Up,1,
,4 Netherlands,,1456-Down,1,
,5 Belgium,,1444Equal,0,
什麼讓你覺得字母'tab'將匹配輸入一個製表符?你可能需要使用一個轉義序列 - '\ t'是我的猜測。 – IMSoP 2014-10-10 00:09:49
輸入是否是製表符分隔的? – 2014-10-10 00:14:32
@AvinashRaj是的,它是一個單詞或數字後跟一個製表符。 – 2014-10-10 00:15:44