2016-08-17 130 views
4

我有一個csv文件,其中一些行以逗號開頭,所以我想刪除它們中的所有文件。從bash中的csv文件中刪除第一個逗號

例如:在這一行:,"a","b","c",我想刪除第一個逗號。

如何在bash中做到這一點?

+3

'sed -i''s/^ *,//'file.csv' – anubhava

+2

請參閱:[堆棧溢出正則表達式常見問題](http://stackoverflow.com/a/22944075/3776858) – Cyrus

+1

@ anubhava非常感謝。可以添加它作爲答案? :) – Dawny33

回答

3

您可以使用此sed

sed -i '' 's/^[[:blank:]]*,//' file.csv 

^[[:blank:]]*,將在逗號之前將逗號與逗號之間的可選空格相匹配。

1

試試這個;

sed 's/^,//' csvFile > newCSVfile 

Ex;

[email protected]:/tmp$ echo ',"a","b","c"' | sed 's/^,//' 
"a","b","c" 
1

不要在SED使用 「G」 標誌,它會幫助你在只刪除第一個匹配的 「」

echo ',"a","b","c"' | sed 's/^,//' 

對於文件:

sed -i.bak 's/^,//' infile.log 
相關問題