我有一组十六进制,其中id就像音译到另一组十六进制,例如:
x00 -> x20
xB0 -> x20
x21 -> x40
x80-xFF -> x20
x22 -> x43
Run Code Online (Sandbox Code Playgroud)
我知道我可以链接sed语句,如:
sed -i.bak $'s/[\x80-\xFF]/\x20/g'
Run Code Online (Sandbox Code Playgroud)
或者喜欢:
sed -e 's/\x00/\x20/g;s/\xB0/\x20/g'
Run Code Online (Sandbox Code Playgroud)
但有没有办法按行"打破"这些单独的更改,以便更具可读性?喜欢 :
sed -e '
s/\x00/\x20/g;
s/\xB0/\x20/g;
.
.
.
' File_In > File_out
Run Code Online (Sandbox Code Playgroud)
如果不可能,可以用perl完成吗?谢谢.
您可以将多个表达式(-e)传递给sed:
sed \
-e 's/\x00/\x20/g' \
-e 's/\xB0/\x20/g' \
-e 's/\x21/\x40/g' \
-e 's/[\x80-\xFF]/\x20/g' \
-e 's/\x22/\x43/g' File_In > File_out
Run Code Online (Sandbox Code Playgroud)