
文字で終わる浮動小数点を含むCSVファイルがあります。
1, 2, 6, 7, "p"
1, 6, 7, 2, "e"
など。
分類作業の場合、「p」を0に、「e」を1に変更したいと思います。つまり、私は以下が欲しい:
1, 2, 6, 7, 0
1, 6, 7, 2, 1
私のファイルのすべての8000行について。
私は試した:
sed -i 's/"p"$/0' filename.csv
そして
sed -i 's"p"$0//' filename.csv
しかし、どちらも機能しません。 sedを使用して各行の複数の文字を置き換える方法は?
答え1
sed -e 's/"p"$/0/; t' -e 's/"e"$/1/' filename.csv
の場合、t
最初の交換が成功すると分岐し、2番目の交換の試みを防ぎます。これは、1行に最大1つの置換を実行する一般的な慣用語です。
答え2
最初の項目にsed
終了はありません/
。使用sed -i 's/"p"$/0/' filename.csv
答え3
sed 's/"p"$/0/;s/"e"/1/' file.txt