我有一個CSV文件格式如下:刪除字符使用sed
aaxx1234a1,aaxx1234a1
aaxx1234a2,aaxx1234a2
我試着使用SED的第一場逗號之前刪除2個字符,以便將文件成爲:
aaxx1234,aaxx1234a1
aaxx1234,aaxx1234a2
我試過sed 's/.{2},//'
但這似乎沒有做任何事情。
任何人都可以給一個指針?
我有一個CSV文件格式如下:刪除字符使用sed
aaxx1234a1,aaxx1234a1
aaxx1234a2,aaxx1234a2
我試着使用SED的第一場逗號之前刪除2個字符,以便將文件成爲:
aaxx1234,aaxx1234a1
aaxx1234,aaxx1234a2
我試過sed 's/.{2},//'
但這似乎沒有做任何事情。
任何人都可以給一個指針?
sed需要{
被反斜槓有特殊含義。此外,你不想刪除逗號:
sed 's/.\{2\},/,/'
,或者,如果你的sed實現支持它,切換到擴展的正則表達式使用-r
或-E
:
sed -E 's/.{2},/,/'
謝謝... .. -E正是我需要的。 –
我認爲你可能必須更加明確,即如果** first **字段的長度少於兩個字符會發生什麼?請記住'.'與''相匹配。 – potong
對於此正則表達式的語法,你需要擴展正則表達式(-r
):
sed -r 's/.{2},/,/' test.csv
如果你只匹配兩個字符會更容易只是做單曲/..,/,/' – 123