Chinaunix
标题:
求助怎么实现同时替换多个字符串!
[打印本页]
作者:
androw_chen
时间:
2019-03-28 17:26
标题:
求助怎么实现同时替换多个字符串!
比如以下一行文本,怎么把1变成2,2变成8.。。。
原文本
01 11 00 10 22 08 00 EE 01 44 45 4C 4C 00 00 00
替换后文本(需要的)
02 22 00 20 88 08 00 EE 02 44 45 4C 4C 00 00 00
我用sed 's/1/2/g;s/2/8/g'替换,谁知有先后顺序,而不是同时;结果就变成
这不是我想要的呀:
08 88 00 80 88 08 00 EE 08 44 45 4C 4C 00 00 00
请教坛友们有什么好的方法~tks了
作者:
本友会机友会摄友会
时间:
2019-03-28 19:39
提示:
作者被禁止或删除 内容自动屏蔽
作者:
androw_chen
时间:
2019-03-29 10:30
回复
2#
本友会机友会摄友会
只是举个例子,现实应用中要变的很多;8也要变成别的值的! 所以你说的并不可取, 不过还是TKS!
作者:
cfwyy
时间:
2019-03-29 13:32
python字符串maketrans,translate方法
test.py
#!/usr/bin/python3
oldstr="01 11 00 10 22 08 00 EE 01 44 45 4c 4c 00 00 00"
table="".maketrans("12","28")
newstr=oldstr.translate(table)
print(newstr)
复制代码
./test.py
02 22 00 20 88 08 00 EE 02 44 45 4C 4C 00 00 00
复制代码
作者:
jzsjm1002
时间:
2019-03-29 16:01
回复
1#
androw_chen
和2楼的思路是一样 对2做一个标记
sed 's/2/*/g;s/1/2/g;s/\*/8/g'
复制代码
作者:
legs
时间:
2019-04-01 16:41
只用一个替换,中间的自己构建
作者:
leowang119
时间:
2019-04-17 10:32
假设文件名为1.txt,只要执行cat 1.txt | tr '12' '28' >change.txt
无论多少个需要替换都可以的
作者:
leowang119
时间:
2019-04-17 10:33
假设文件名为1.txt,只要执行cat 1.txt | tr '12' '28' >change.txt
无论多少个需要替换都可以的
作者:
Jackis
时间:
2019-04-19 16:05
sed -e 's/2/8/g' -e 's/1/2/g'
向大佬们学习。
作者:
androw_chen
时间:
2019-04-19 16:42
回复
8#
leowang119
~tks!看似怎么简单,就难住我了
作者:
moperyblue
时间:
2019-05-21 13:50
sed 'y/12/28/'
复制代码
tr '12' '28'
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2