文字列が与えられたら、カンマの前に文字がなく、文字がない各コンマの間に最初に強制的に適用したいと,,a,,,b,,,,
思います。-
結果は次のとおりです-,-,a,-,-,b,-,-,-,-
。
echo ",,a,,,b,,,," | sed 's/,/,-/g' | sed 's/-\([^,]\)/\1/g' | sed 's/^,/-&/g'
次に続く:-,-,a,-,-,b,-,-,-,-
しかし、問題は、sedを3回呼び出すことが非常に非効率的であるということです。非常に長い反復sedでこれを行う方法はありますか?正規表現、または他のツール一度電話してください?
ベストアンサー1
(echo ,,a,,,b,,,,; echo a,,b) | perl -pe 's/(^|,)\K(?=(,|$))/-/g'
-,-,a,-,-,b,-,-,-,-
a,-,b
sed
今年の一学期勉強しなければならないと思います。