开发者

sed and special char

开发者 https://www.devze.com 2023-01-28 02:52 出处:网络
im trying the following sed command, but i have no l开发者_运维技巧uck with special chars: echo \"x#asdf\" | sed \"s/\\([^-]\\)#/\\1\\n/g\"

im trying the following sed command, but i have no l开发者_运维技巧uck with special chars:

echo "x#asdf" | sed "s/\([^-]\)#/\1\n/g"

x
asdf

but if i use some special char in test.txt

echo "ä#asdf" | sed "s/\([^-]\)#/\1\n/g"

ä#asdf

why ?

this works:

echo "ü#asdf" | sed "s/ü/-/g"
-#asdf

but this doesnt:

echo "ü#asdf" | sed "s/[ü]/-/g"
ü#asdf


I'm not sure about this, because your sed commands work ok for me (gnu sed 4.1.5), but try invoking sed this way:

$ LANG=de_DE.UTF-8 sed ...

See this post for more information: Why does sed fail with International characters and how to fix?.

If this doesn't work, it may help to upgrade to gnu sed 4.2, if you can. The NEWS file says "multibyte processing fixed" for 4.2 but does not go into further detail.

0

精彩评论

暂无评论...
验证码 换一张
取 消