sed 's/"p"$/0/;s/"e"/1/' file.txt
Eu tenho um arquivo csv com floats terminando em um caractere:
1, 2, 6, 7, "p"
1, 6, 7, 2, "e"
etc.
Gostaria de substituir "p" por 0 e "e" por 1 para uma tarefa de classificação. Ou seja, eu gostaria de:
1, 2, 6, 7, 0
1, 6, 7, 2, 1
Para todas as 8000 linhas no meu arquivo.
Eu tentei:
sed -i 's/"p"$/0' filename.csv
e
sed -i 's"p"$0//' filename.csv
mas não funciona. Como posso substituir vários caracteres em cada linha usando sed?
sed -e 's/"p"$/0/; t' -e 's/"e"$/1/' filename.csv
Com t
, nós ramificamos se a primeira substituição for bem-sucedida, evitando que a segunda substituição seja tentada. Esse é um idioma comum para fazer no máximo uma substituição por linha.
Seu primeiro sed
está sem a terminação /
.
Use sed -i 's/"p"$/0/' filename.csv
Tags sed